Guten Morgen,
ich benötige euer Fachwissen über vba für einen Makro in Excel! Ziel ist, eine Monatskalkulation inklusive Formel und Verweis auf eine andere Excel-Mappe zu kopieren und an den neuen Monat anzupassen, wobei jeder Monat eine eigene Spalte hat. Am Anfang fragt der Makro via InputBox die Nummer des Monats ab, der neu eingetragen werden soll (1-12). Hierfür habe ich einen String eingebaut. Das sieht so aus:
'Abfrage nach neuem Monat
Dim monat As String
monat = InputBox(Prompt:="Welcher Monat soll hinzugefügt werden?; Bsp.: Für März = 3")
Dann wird die Spalte des Vormonats kopiert und in die Spalte des einzutragenden Monats eingefügt. Soweit klappt auch alles, aber danach muss beim neuen Monat noch in der Formel der Verweis auf eine andere Excel-Mappe auf das nächste Monatsblatt dort umgeändert werden. Dort ist auch jedes Monatsblatt mit der jeweiligen Nummer des Monats benannt (1-12). Dieses Umändern soll über „Suchen und Ersetzen“ geschehen, allerdings funktioniert der Befehl nicht mit dem anfangs eingebauten String. Der Befehl sieht bisher so aus:
Worksheets("Tabelle1").Columns(monat).Replace What:="]monat - 1", _
Replacement:="]monat", _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
MatchCase:=False, _
SearchFormat:=False, _
ReplaceFormat:=False
Hier scheint er nun plötzlich ausschließlich nach dem Wort „monat“ in der Formel zu suchen, nicht wie anfangs nach der Zahl, mit der er am Anfang über die InputBox definiert wird. Kann mir hier jemand weiterhelfen, wie der String im Befehl vielleicht erkannt und wie gehabt benutzt wird oder weiß jemand eine andere Lösung?
Vielen Dank schonmal im Voraus! :)
Viele Grüße
Jayp
|