Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nach überschrift suchen und kopieren

Forumthread: Nach überschrift suchen und kopieren

Nach überschrift suchen und kopieren
15.11.2018 13:39:22
Christoph
Hallo zäme
Ich suche nach einer Lösung für das Kopieren und Zuordnen von ganzen Spalten.
In dem Tabellenblatt 3 habe ich folgende Überschriften: Salte A=Nr, Spalte B=Du, Spalte C=Ba, Spalte D=Qu usw. Es handelt sich um immer die Selben 10 Überschriften, jedoch sind nicht immer die Selben überschriften in der gleichen Spalte (manchmal ist Ba in Spalte A, manachmal in Spalte C usw.)
Gerne möchte ich nun die Daten welche im Tabellenblatt 3 sind in das Tabellenblatt 2 kopieren und je nach Überschrift in dem Tabellenblatt 3 soll die ganze Spalte in die entsprechnede Spalte in dem Tabellenblatt 2. (Zum Beispiel muss die Überschrift "Nr" immer in die Spalte A im Tabellenblatt 2 eingefügt werden, egal in welcher Spalte die Daten in dem Tabellenblatt 3 waren.
Wie ist dies möglich?
Besten Dank für eure Rückmeldung.
Herzliche Grüsse
Christoph
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nach überschrift suchen und kopieren
15.11.2018 13:40:25
SF
Hola,
suchst du den Wverweis?
https://www.online-excel.de/excel//singsel.php?f=145
Gruß,
steve1da
AW: Nach überschrift suchen und kopieren
15.11.2018 13:42:41
Werner
Hallo Christoph,
Frage:
In welcher Zeile im Blatt 3 sind denn die Überschriften?
Wohin (Zeile) in Blatt 2 soll kopiert werden?
Sind dort schon Daten vorhanden?
Wenn ja, dann die aus Blatt 3 unten anfügen?
Oder die bereits vorhandenen Daten überschreiben?
Am besten mal eine Beispielmappe hier hochladen.
Gruß Werner
Anzeige
AW: Nach überschrift suchen und kopieren
15.11.2018 14:00:25
Christoph
Hallo Werner
Nachfolgend die Datei. Alle gesetzten Überschriften sollen zu den in Tabelle 2 gesetzten Überschriften gesetzt werden. Wichtig ist, dass die Überschriften in Tabelle 2 so bleiben müssen und nicht verschoben werden. Falls in Tabelle 3 eine Überschrift fehlt, bleibt diese Spalte in der Tabelle 2 leer.
https://www.herber.de/bbs/user/125408.xlsx
Gruss Christoph
Anzeige
AW: Nach überschrift suchen und kopieren
15.11.2018 14:27:38
Werner
Hallo Christoph,
teste mal:
Option Explicit
Public Sub spalten_kopieren()
Dim raFund As Range, loLetzte As Long, i As Long
Dim wsZ As Worksheet, wsQ As Worksheet, strSuchbegriff As String
Set wsZ = ThisWorkbook.Worksheets("Tabelle2")
Set wsQ = ThisWorkbook.Worksheets("Tabelle3")
Application.ScreenUpdating = False
With wsZ
'vorhandene Daten im Blatt 2 löschen
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
If loLetzte > 1 Then
.Range(.Cells(2, 1), .Cells(loLetzte, 9)).ClearContents
End If
'Schleife über die Überschriften im Blatt 2
For i = 1 To 9
strSuchbegriff = .Cells(1, i)
'entspr. Überschrift im Blatt 3 suchen
With wsQ
Set raFund = .Rows("1:1").Find(what:=strSuchbegriff, LookIn:=xlValues, lookat:= _
xlWhole)
'wenn gefunden Daten kopieren
If Not raFund Is Nothing Then
loLetzte = .Cells(.Rows.Count, raFund.Column).End(xlUp).Row
.Range(.Cells(2, raFund.Column), .Cells(loLetzte, raFund.Column)).Copy
End If
End With
'im Blatt 2 in die entspr. Spalte einfügen
.Cells(2, i).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Next i
End With
Set wsZ = Nothing: Set wsQ = Nothing
End Sub
Gruß Werner
Anzeige
AW: Nach überschrift suchen und kopieren
15.11.2018 14:55:34
Christoph
Hallo Werner
Ganz herzlichen Dank, dies funktioniert sehr gut.
Gruss Christoph
Gerne u. Danke für die Rückmeldung. o. w. T.
15.11.2018 15:14:45
Werner
;
Anzeige
Anzeige

Infobox / Tutorial

Nach Überschrift suchen und Spalten kopieren


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei mit den beiden Tabellenblättern (Tabelle2 und Tabelle3).

  2. Kopiere den VBA-Code aus dem folgenden Block in ein neues Modul:

    Option Explicit
    Public Sub spalten_kopieren()
    Dim raFund As Range, loLetzte As Long, i As Long
    Dim wsZ As Worksheet, wsQ As Worksheet, strSuchbegriff As String
    Set wsZ = ThisWorkbook.Worksheets("Tabelle2")
    Set wsQ = ThisWorkbook.Worksheets("Tabelle3")
    Application.ScreenUpdating = False
    With wsZ
       ' Vorhandene Daten im Blatt 2 löschen
       loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
       If loLetzte > 1 Then
           .Range(.Cells(2, 1), .Cells(loLetzte, 9)).ClearContents
       End If
       ' Schleife über die Überschriften im Blatt 2
       For i = 1 To 9
           strSuchbegriff = .Cells(1, i)
           ' Entsprechende Überschrift im Blatt 3 suchen
           With wsQ
               Set raFund = .Rows("1:1").Find(what:=strSuchbegriff, LookIn:=xlValues, lookat:= _
               xlWhole)
               ' Wenn gefunden, Daten kopieren
               If Not raFund Is Nothing Then
                   loLetzte = .Cells(.Rows.Count, raFund.Column).End(xlUp).Row
                   .Range(.Cells(2, raFund.Column), .Cells(loLetzte, raFund.Column)).Copy
               End If
           End With
           ' Im Blatt 2 in die entsprechende Spalte einfügen
           .Cells(2, i).PasteSpecial Paste:=xlPasteValues
           Application.CutCopyMode = False
       Next i
    End With
    Set wsZ = Nothing: Set wsQ = Nothing
    End Sub
  3. Führe das Makro aus. Gehe dazu zu „Entwicklertools“ > „Makros“ und wähle das Makro spalten_kopieren aus. Klicke auf „Ausführen“.

  4. Überprüfe die Ergebnisse auf Tabelle2, um sicherzustellen, dass alles korrekt kopiert wurde.


Häufige Fehler und Lösungen

  • Fehler: Das Makro findet nicht die richtige Überschrift.
    Lösung: Stelle sicher, dass die Überschriften in der ersten Zeile von Tabelle3 korrekt geschrieben sind und keine zusätzlichen Leerzeichen enthalten.

  • Fehler: Die Daten werden nicht in die richtige Spalte kopiert.
    Lösung: Überprüfe, ob die Überschriften in Tabelle2 korrekt gesetzt sind und in der richtigen Reihenfolge angeordnet sind.


Alternative Methoden

Wenn du kein VBA verwenden möchtest, kannst du auch die SVERWEIS-Funktion nutzen, um Daten basierend auf Überschriften zu suchen und zu kopieren. Diese Methode ist jedoch weniger flexibel, wenn es um mehrere Spalten geht.


Praktische Beispiele

Angenommen, du hast in Tabelle3 folgende Daten:

Nr Du Ba Qu
1 A B C
2 D E F

In Tabelle2 hast du die gleichen Überschriften in der ersten Zeile. Nach dem Ausführen des Makros solltest du in Tabelle2 folgendes sehen:

Nr Du Ba Qu
1 A B C
2 D E F

Tipps für Profis

  • Nutze Variablen: Passe die For-Schleife an, um nur bestimmte Spalten zu kopieren, z.B. nur die Spalten „Nr“ und „Du“.
  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um das Skript robuster zu machen.

FAQ: Häufige Fragen

1. Frage
Wie kann ich das Makro für mehr als 9 Spalten anpassen?
Antwort: Ändere die For i = 1 To 9 Zeile auf die entsprechende Anzahl an Spalten, die du hast.

2. Frage
Kann ich das Makro für andere Tabellenblätter verwenden?
Antwort: Ja, ändere einfach die Namen der Worksheets in den Set wsZ und Set wsQ Zeilen auf die gewünschten Tabellennamen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige