Thema Datum  Von Nutzer Rating
Antwort
26.05.2008 22:02:27 tlauter
NotSolved
Blau Aw:Spalten anhand der Überschrift identifizieren
28.05.2008 09:32:48 Holger
NotSolved
28.05.2008 13:14:37 tlauter
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
28.05.2008 09:32:48
Views:
1233
Rating: Antwort:
  Ja
Thema:
Aw:Spalten anhand der Überschrift identifizieren
Hallo tlauter,
ich gehe davon aus, das du xlsheet irgendwo definiert hast, sonst würden ja die Spaltennummern nicht berechnet werden.
Range(Cells(i, j)) muss für eine Zelle Range(Cells(i, j),Cells(i, j)) heißen. Das ist hier aber nicht erforderlich, da du die Zuweisung auch mit strName = Cells(i, nameColumn).Value durchführen kannst. Dabei ist .Value optional.
Stelle darüber hinaus sicher, das i,j>0, weil es keine Zeile 0 gibt. Du solltest also bei einem dynamischen Aufbau prüfen, ob der zu suchende Begriff gefunden wurde (z.B. nameColumn>0), weil du sonst ebenfalls auf Laufzeitfehler stößt.
Gruß
Holger





tlauter schrieb am 26.05.2008 22:02:27:

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

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
26.05.2008 22:02:27 tlauter
NotSolved
Blau Aw:Spalten anhand der Überschrift identifizieren
28.05.2008 09:32:48 Holger
NotSolved
28.05.2008 13:14:37 tlauter
NotSolved