Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1504to1508
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spaltenüberschriften suchen und Spalten kopieren

Spaltenüberschriften suchen und Spalten kopieren
27.07.2016 20:45:52
SoHam
Hallo!
Möchte gerne ein Makro machen mit dem man in dem Blatt newData jede Spaltenüberschrift nimmt und in dem Blatt importedData sucht, diese Spalte dann kopiert und in newData einfügt.
Ich kann gar nicht programmieren und habe ein paar Code Sachen gesucht.
Bei "Set whatToFind" kommt immer ein Fehler das ein Objekt erforderlich ist.
Was ist da denn falsch?
Ich wollte statt er anstatt nach "city" zu suchen nach jeder Spaltenüberschrift sucht
Sub SucheundKopieren()
Dim i As Integer
Dim Treffer As Range
Dim whatToFind As String
Dim LastColumn As Integer
Set whatToFind = newData.Cells(1, i).Value
newData.Activate
For i = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
With ImportedData
Set Treffer = .Rows(1).Find(what:="city", lookat:=xlWhole)
If Treffer Is Nothing Then
MsgBox "Spalte mit Wert wurde nicht gefunden"
Else
.Columns(Treffer.Column).Copy Destination:=newData.Range("A1")
End If
End With
Next i
End Sub
Wäre cool wenn einer helfen könnte
Grüsse
Daniel

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spaltenüberschriften suchen und Spalten kopieren
27.07.2016 20:52:57
Fennek
Hallo,
es gint mindesten 2 Probleme in dem code:
1. Set darf nur mit Objekten wie Range, Sheet oder Workbook verwendet werden
2. Da i ohne explizite Zuweisung ist, ist i=0, aber cells(1,i) ist außerhalb des Gültigkeitsbereich.
mfg
AW: Spaltenüberschriften suchen und Spalten kopieren
28.07.2016 17:14:22
SoHam
Vielen Dank an Fennek. Dein Tip hat mich viel weiter gebracht.
Hier nun das fertige Makro
"newdata" und "impotedData" muss man mit seinen eigenen Tabellennamen ersetzen z.B Worksheets("Tabelle1) und Worksheets("Tabelle2)
Sub SucheundKopieren()
Dim i As Integer
Dim Treffer As Range
Dim whatToFind As String
Dim k As Integer
k = 1
newData.Activate
For i = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
whatToFind = newData.Cells(1, k).Value
With ImportedData
Set Treffer = .Rows(1).Find(what:=whatToFind, lookat:=xlWhole)
If Treffer Is Nothing Then
MsgBox "Spalte mit Wert wurde nicht gefunden"
Else
.Columns(Treffer.Column).Copy Destination:=newData.Cells(1, k)
End If
k = k + 1
End With
Next i
End Sub

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge