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

Spalten dynamisch auslesen

Forumthread: Spalten dynamisch auslesen

Spalten dynamisch auslesen
mandy
Hallo,
Ich möchte per Makro Spalten von "Daten" nach "Verlauf" schreiben. Dazu will ich aber nicht nach Splatenzahl oder definieren, ob C und F und H... sonder n ich will nach Spaltenköpfe gehen.
Also, meine "Daten" haben in der ersten Zeile eine Spaltenüberschrift. Nun möchte ich nach "Verlauf" die Spalten kopieren, die in der Kopfzeile "Date" , "Name" und "Comment" stehen haben.
Soll so aussehen.
Sheet("Verlauf").SpalteD = Sheet("Daten").Spaltenüberschrift("Date")
Sheet("Verlauf").SpalteE = Sheet("Daten").Spaltenüberschrift("Name")
Sheet("Verlauf").SpalteH = Sheet("Daten").Spaltenüberschrift("Comment")
usw.
Das Problem dabei, zB die Spalte "Date" in Daten kann mal F sein, mal H sein...
Wie kann ich den das per Makro erledigen ?
Danke
Mandy
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Nachtrag
12.11.2009 09:21:53
mandy
das rüberschreiben in die Tabelle "Verlauf" soll aber erst ab Zeile 5 gemacht werden. Also ich brauche oben 4 freie Zeilen.
Danke
Tabellen kopieren nach Spaltenüberschriften
12.11.2009 10:42:44
Erich
Hi Vorname(?),
hier: https://www.herber.de/forum/archiv/1112to1116/t1114531.htm#1114802
habe ich kürzlich so etwas Ähnliches produziert.
Vielleicht kannst du das an deine Gegebenheiten anpassen. Bei Problemen melde dich einfach!
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Nachtrag
12.11.2009 10:54:06
ChrisL
Hi
Hier noch ein Vorschlag:
Sub t()
Dim WS1 As Worksheet, WS2 As Worksheet
Dim SpalteDate As Byte, SpalteName As Byte, SpalteComment As Byte
Dim LetzteZeile As Long
Set WS1 = Worksheets("Verlauf")
Set WS2 = Worksheets("Daten")
With WS2
LetzteZeile = .Range("A65536").End(xlUp).Row
SpalteDate = Application.Match("Date", .Rows(1), 0)
SpalteName = Application.Match("Name", .Rows(1), 0)
SpalteComment = Application.Match("Comment", .Rows(1), 0)
.Range(.Cells(2, SpalteDate), .Cells(LetzteZeile, SpalteDate)).Copy WS1.Range("A5")
.Range(.Cells(2, SpalteName), .Cells(LetzteZeile, SpalteName)).Copy WS1.Range("B5")
.Range(.Cells(2, SpalteComment), .Cells(LetzteZeile, SpalteComment)).Copy WS1.Range("C5")
End With
End Sub

cu
Chris
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige