title image


Smiley Re: Zwei Tabellen unterschiedlicher Laenge zu einer Tabelle zusammenfassen
Hallo ThomasDas sieht wieder nach Sverweis aus (wie wir gelernt haben: in Spanisch =BUSCARV() :-))- Nimm eine neue Tabelle (Tab3)- Kopiere aus Tab1 Spalte mit den ID- Einfügen in Tab3 SpalteA- Kopiere aus Tab2 Spalte mit den ID- Einfügen in Tab3 unter den Werten in SpalteA- Spalte markieren und Sortieren (Extras Sortieren)- Lösch die Doppelten heraus. geht auch über folgendes Makro: (Ist hier aus dem Spothlight)Public Sub Doppel_löschen()Dim i%, n%, Z%, j%, S%, s1%, s2%Dim a As Date, b As Date, c As DateDim ErsterWert$, ZweiterWert$a = NowApplication.ScreenUpdating = False'erste Zeile mit Daten Mldg = "Nr. der ersten Datenzeile eingeben" Titel = "Vorbereitungen:" ' Titel festlegen. Voreinstellung = "2" ' Voreinstellung festlegen. n = InputBox(Mldg, Titel, Voreinstellung, 2000, 4000) If n 'Spalte, in der keine leeren Zellen existieren Mldg = "Nr. einer Spalte angeben, die keine leeren Zellen enthält" Titel = "Zeilenanzahl ermitteln" ' Titel festlegen. Voreinstellung = "1" ' Voreinstellung festlegen. S = InputBox(Mldg, Titel, Voreinstellung, 2000, 4000) If S 'Das sind die Spalten, in denen die zu vergleichenden Sätze enthalten sind'Erste Spalte, die durchsucht werden soll Mldg = "Nr.(1) der Spalte angeben, die gefiltert werden soll" Titel = "Filterspalte 1 angeben" ' Titel festlegen. Voreinstellung = "1" ' Voreinstellung festlegen. s1 = InputBox(Mldg, Titel, Voreinstellung, 2000, 4000) If s1 'Zweite Spalte, die durchsucht werden soll Mldg = "Nr.(2) der Spalte angeben, die auch verglichen werden soll" Titel = "Filterspalte 2 angeben" ' Titel festlegen. Voreinstellung = "1" ' Voreinstellung festlegen. s2 = InputBox(Mldg, Titel, Voreinstellung, 2000, 4000) If s2 'Zählen der DatensätzeZ = nDo While Cells(Z, S).Value "" Z = Z + 1Loopvor = Z 'Anzahl Zeilen vorher 'Die folgende Schleife löscht alle folgenden Zeilen, 'in denen die Daten in Spalte s1 und in Spalte s2 'gleich der gerade mit der ersten For-Schleife gewählten 'sindS = 0For i = n To Z ErsterWert = Cells(i, s1).Value ZweiterWert = Cells(i, s2).Value 'Löschen der Folgezeilen, wenn die genannten Daten gleich sind For j = i + 1 To Z If Cells(j, s1).Value = ErsterWert And Cells(j, s2).Value = ZweiterWert Then Rows(j).Delete j = j - 1 Z = Z - 1 If Z = 0 Then GoTo FERTIG: Application.StatusBar = Format(100 * i / Z, "0.00") & "%" End If Next jNext iFERTIG:Application.StatusBar = Falseb = Nowc = CDate(b - a)gel = vor - Z 'Anzahl gelöschte ZeilenMeldung = "Gelöscht wurden " & gel & " Zeilen. Dauer: " & cApplication.ScreenUpdating = TrueMsgBox MeldungEnd Sub- Schreibe dann in B1 =SVERWEIS(A1;Tabelle1!A:B;2;FALSCH)- Schreibe dann in C1 =SVERWEIS(A1;Tabelle2!A:B;2;FALSCH)- Markiere B1:C1 und kopiere die Formeln nach unten- (Halb)Fertig- Die Ganze Tab3 markieren- Strg+C- Bearbeiten - > Inhalte einfügen -> Werte- FertigGrußUwe

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: