Hallo,
mein Problem besteht darin, habe eine Tabelle mit mehr als 50 Tabellenblätter. Aus den Tabellenblättern fass ich Daten in einem neuen Tabellenblatt zusammen.
Die Verknüpfung auf das erste Tabellenblatt fangen in Zelle B9 an. z.B. ='1'!$D$6 und enden bei AO9
Dann kopier ich die Zellen nach unten, dabei bleibt der Bezug natürlich auf Tabellenblatt eins.
Mit Makro aufzeichnen habe ich den Code zum ändern des Tabellenblatts aufgezeichnet.
Hat auch funktioniert.
Nun hat sich die Anzahl der Spalten geändert. Ich ende jetzt bei AX9
Nun müßte ich im Makro den Befehl vervielfältigen, das ist umständlich.
Nun bin ich darauf gestoßen, dass das mit einer Schleife eleganter zu lösen wäre - leider habe ich keine Ahnung wie eine Schleife für mein Problem aussähe.
Vielleicht kann mir hier jemand helfen - das wäre super.
ActiveCell.Replace What:="(1)", Replacement:="(2)", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.Find(What:="(1)", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
ActiveCell.Replace What:="(1)", Replacement:="(2)", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.FindNext(After:=ActiveCell).Activate
ActiveCell.Replace What:="(1)", Replacement:="(2)", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.FindNext(After:=ActiveCell).Activate
ActiveCell.Replace What:="(1)", Replacement:="(3)", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.Find(What:="(1)", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
ActiveCell.Replace What:="(1)", Replacement:="(3)", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.FindNext(After:=ActiveCell).Activate
ActiveCell.Replace What:="(1)", Replacement:="(3)", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.FindNext(After:=ActiveCell).Activate
|