Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Suchen von gleichen Zellen in zwei Tabellen und kopieren von Daten
#1
Hallo,
nach langem Selbstversuch bin ich auf Hilfe angewiesen.

zu meinem Anliegen:
Ich habe eine Exceldatei mit zwei Tabellen, in Tabelle 1 stehen in Spalte A Namen, in Tabelle 2 in Spalte A stehen Teilweise die gleichen Namen sowie einige Zellen weiter Daten.
Jetzt soll durch ein Makro Tabelle 1 Spalte A mit Tabelle 2 Spalte A verglichen werden.
Wenn der exakt gleiche Name gefunden wurde sollen die Daten welche in Tabelle 2 in gleicher Spalte wie der gefundene gleiche Namen in Tabelle 1 einige Spalten hinter die Namen ohne Formatierung kopiert werden.

Siehe Beispieldatei

Wie schreibe ich das Makro?!?!


Angehängte Dateien
.xlsm   Beispiel.xlsm (Größe: 12,58 KB / Downloads: 8)
Antworten Top
#2
Hallo

Dazu benötigt man kein Makro.
Da reicht:
Code:
=WENNFEHLER(SVERWEIS($A1;Rohdaten!$A$1:$L$32;SPALTE();FALSCH);"")
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#3
Danke für die schnelle Antwort.
Die Formel ist soweit ganz gut, aber es darf danach nur der Wert drin stehen und keine Formel, sowie die Excel Dateien welche ich zusammenfügen muss sind unterschiedlich lang, ich denke da werde ich nicht ohne Makro auskommen.
Was noch dazu kommt, es dürfen nur die Zellen kopiert werden und nicht die ganze Spalte, sowie ohne Formatierung weil in Tabelle1 die Zellen für die Daten schon eine Bedingte Formatierung haben
Antworten Top
#4
Hi,


hast Du die Formel überhaupt schon mal ausprobiert? Ich denke nicht, sonst hättest Du das nicht geschrieben.

(10.01.2015, 13:43)JimmyJoe schrieb: Die Formel ist soweit ganz gut, aber es darf danach nur der Wert drin stehen und keine Formel, sowie die Excel Dateien welche ich zusammenfügen muss sind unterschiedlich lang, ich denke da werde ich nicht ohne Makro auskommen.
Was noch dazu kommt, es dürfen nur die Zellen kopiert werden und nicht die ganze Spalte, sowie ohne Formatierung weil in Tabelle1 die Zellen für die Daten schon eine Bedingte Formatierung haben

Ich gehe davon aus, daß Du das nur ein Mal machen willst:

Du passt den Bereich der Formel an den belegten Bereich der Quell-Tabelle 2 an und kopierst die Formel so weit runter, wie Deine Daten in der Ziel-Tabelle 1 stehen und so weit nach rechts, wie die Daten in Tabelle 2 stehen. Beachte: kopieren und einfügen "Inhalte einfügen, Formeln".

Nun hast Du alles übertragen in Tabelle 1. Und Du hast es mit der Formatierung der Zielzellen.

Nun alles markieren und in die Zwischenablage kopieren und dann mit "Inhalte einfügen, nur Werte" in denselben Bereich, schon hast Du den Inhalt im Format der Zielzellen.
Antworten Top
#5
hi, nein die Formel kannte ich nicht, ist aber fürs erste ganz gut.
Möchte aber ein Makro dazu haben, da ich öfters diese Daten sortieren muss, sowie in unterschiedlicher Größe ( teilweise bis 3000 Zeile )
Antworten Top
#6
Hi,

(10.01.2015, 14:50)JimmyJoe schrieb: Möchte aber ein Makro dazu haben, da ich öfters diese Daten sortieren muss, sowie in unterschiedlicher Größe ( teilweise bis 3000 Zeile )

sortieren oder zusammenführen?

Dann starte die Makroaufzeichnung und führe den Vorgang einmal manuell aus. Dann postest Du das erhaltene Makro hier und wir verallgemeinern es gemeinsam.
Antworten Top
#7
Hallo,
zusammenführen in Tabelle1.

Anbei das Beispiel mit dem Makro.

Der Vergleich soll so lange in Schleife laufen bis in Spalte A keine Daten mehr gefunden werden.


Angehängte Dateien
.xlsm   Beispiel.xlsm (Größe: 21,26 KB / Downloads: 3)
Antworten Top
#8
Hallo,

versuchs mal so

Code:
Sub prcKopieren()
   Dim lngC As Long
   Dim rngSuche As Range
  
   With Worksheets("Tabelle1")
      For lngC = 3 To .Cells(.Rows.Count, 1).End(xlUp).Row
         Set rngSuche = Worksheets("Rohdaten").Columns(1).Find(.Cells(lngC, 1).Value, LookIn:=xlValues, lookat:=xlWhole)
         If Not rngSuche Is Nothing Then
            rngSuche.Offset(, 6).Resize(, 10).Copy .Cells(lngC, 7)
         End If
      Next lngC
   End With
End Sub
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • JimmyJoe
Antworten Top
#9
Oha, ganz gut, nur sollten die Werte ohne Format in Tabelle 1 übertragen werden ( keine Farbe usw )
Kannst du mir den Code aufschlüsseln, das ich sehe was wo passiert?
Antworten Top
#10
Hallo,

sollte jetzt funktionieren (hoffe die Kommentare reichen)
Code:
Sub prcKopieren()
   Dim lngC As Long
   Dim rngSuche As Range
  
   With Worksheets("Tabelle1")
      'eine Schleife durch die Spalte A der Tabelle1 bis zum Ende
      For lngC = 3 To .Cells(.Rows.Count, 1).End(xlUp).Row
         'der Wert aus der Zelle A... wird in der Tabelle Rohdaten gesucht
         Set rngSuche = Worksheets("Rohdaten").Columns(1).Find(.Cells(lngC, 1).Value, LookIn:=xlValues, lookat:=xlWhole)
         'wenn der Wert in der Tabelle Rohdaten gefunden wird
         If Not rngSuche Is Nothing Then
            'wird die Zeile aus der Tabelle Rohdaten kopiert
            rngSuche.Offset(, 6).Resize(, 10).Copy
            'und in der Tabelle1 eingefügt
            .Cells(lngC, 7).PasteSpecial xlValues
         End If
      Next lngC
      Application.CutCopyMode = False
   End With
End Sub
Gruß Stefan
Win 10 / Office 2016
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste