Ich bin ein relativ neuer Programmierer in VBA für Excel und suche nach Hilfe für ein arbeitsbezogenes Projekt.Aktualisieren des Geschäftsjahrs mit einem Makro
Die Frage auf der Hand ist in Bezug Update-Routine für ein Budget-Tracking-System zu entwerfen, die die Datumseinträge für jedes kommendes Geschäftsjahr aktualisieren würden, durch den Benutzer in einem Eingabefeld angegeben:
Sub Putittogether()
On Error Resume Next
Dim xMonthNumber As Integer
Dim xMonthNumber2 As Integer
Dim xYearInput As Integer
Dim xCell As Range
Dim xCell2 As Range
Dim xMonthYear As Range
Dim xMonthNextYear As Range
Set xMonthYear = Range("B4:B12")
Set xMonthNextYear = Range("B1:B3")
xYearInput = InputBox("Please enter year:")
For Each xCell In xMonthYear
xCell = xYearInput
For xMonthNumber = 4 To 12
Range("B" & xMonthNumber).NumberFormat = "General"
Range("B" & xMonthNumber) = MonthName(xMonthNumber, True) & xCell
For Each xCell2 In xMonthNextYear
xCell2 = xYearInput + 1
For xMonthNumber2 = 1 To 3
Range("B" & xMonthNumber2).NumberFormat = "General"
Range("B" & xMonthNumber2) = MonthName(xMonthNumber2, True) & xCell2
Next xMonthNumber2
Next xCell2
Next xMonthNumber
Next xCell
End Sub
Der Makro geht von April des laufenden Jahres bis März des folgenden Jahres, also die Doppelschleifen.
Ich habe Probleme an zwei Stellen: mit der Methode, die ich verwende, müssen die Bereiche in der B-Spalte streng in Zeilen 1-12 widergespiegelt werden und alle anderen Zeilen verursacht Probleme mit der Ausgabe, und ich bin nicht sicher warum. Das zweite Problem ist, dass ich Tracking-Summentabellen für jeden Monat habe und versuche, dieses Makro in einer Tabelle auszuführen, die eine Kopfzeile hat (dh verschiebt die erste Datenzeile auf B2), erzeugt zusätzliche Ausgabeprobleme - so Wie kann ich es in einem anderen Bereich arbeiten lassen?
Vielen Dank im Voraus für Ihre Hilfe !!
@INOPIAE Entschuldigung, habe deine Antwort nicht gesehen ... zwei tolle Köpfe! Ich werde es weiter machen, um OP zu helfen, sich mit der Zeilenfrage zu befassen. – Ambie
Ich habe die DateAdd-Methode verwendet, bevor ich die Version schrieb, die ich hier eingereicht habe, aber ich hatte ein Problem darin, dass es nur den letzten Wert der Schleife über den Bereich ausgab, und ich beschloss, das Jahr als Ganzzahl zu behandeln, die zu isolieren Monat und dann beide zusammen. Der Datentyp "Datum" kam mir damals nicht in den Sinn ... Wie wir sehen, sind die Ansätze von Ihnen und INOPIAE eher raffinierter. Vielen Dank, dass Sie sich die Zeit genommen haben. Es ist sehr geschätzt. – quadrature