Hallo,
ich habe noch ein Problem mit VBA in Excel und zwar geht es um die dynamische Bestimmung von Spalten nach ihren Überschriften.
Ich durchlaufe in einer Schleife alle benutzten Reihen und lese dabei Daten aus zwei bestimmten Spalten aus. Diese habe ich momentan sozusagen fest drin ("B" & "S"), möchte sie aber nun dynamisch halten, damit sich das Format der Tabelle ändern kann ohne dass ich meinen Code anpassen muss. Daher suche ich nach "fullname" und "Veranstaltungen" in der ersten Zeile und möchte dann in der Schleife auf die Zellen zugreifen. Nun bekomme ich jedoch immer einen Laufzeitfehler, wenn ich versuche auf die Ranges zuzugreifen. Die Spalten bestimmt er noch korrekt, d.h. er greift mit nameColumn=2 und eventColumn=19 zu. i ist der Schleifenzähler.
Kann mir da einer weiterhelfen? Unten findet ihr meinen bisherigen Code.
Danke!!
xlSheet.Range("A1").Select
xlSheet.Cells.Find(What:="fullname", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows,SearchDirection:=xlNext,
MatchCase:= False, SearchFormat:=False).Activate
nameColumn = ActiveCell.column
xlSheet.Range("A1").Select
xlSheet.Cells.Find(What:="Veranstaltungen", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
eventColumn = ActiveCell.column
strName = xlSheet.Range(Cells(i, nameColumn)).Value
strCell = xlSheet.Range(Cells(i, eventColumn)).Value
|