Excel - Ein Makro zum Kopieren / Einfügen eines ausgewählten Bereichs

Problem

Ich habe eine Zusammenfassung der monatlichen Daten auf einem Blatt und der Rohdaten auf einem anderen Blatt. Anstatt für jeden Monat mehrere Arbeitsblätter für meine Rohdaten zu erstellen, möchte ich die Daten des Vormonats löschen und durch neue Daten ersetzen. Dazu muss ich die Formeln, mit denen die Zusammenfassung erstellt wurde, in eine andere Spalte kopieren (für den neuen Monat) und dann den Wert der aktuellen Monatszusammenfassungsdaten kopieren und einfügen (wenn sich die Quellrohdaten geändert haben, würde dies meine nicht ändern Werte dort).

Beispiel

 ABCD Jan Feb Mar Apr 1 5 6 7 

Ich möchte, dass mein Endergebnis so aussieht (dh von A3: A6 kopieren und auf B3 einfügen. Dann wird es nächsten Monat von B3: B6 kopieren und auf C3 einfügen und so weiter).

 ABCD Jan Feb Mar Apr 1 1 5 5 6 6 7 7 

Jan und Feb sind im Moment gleich, da das Kopieren und Einfügen erfolgen wird, bevor neue Rohdaten ersetzt wurden.

Hoffe es macht Sinn. Ich habe sehr wenig Kenntnisse im Schreiben von VB, kann es aber schaffen, die einfachen zu lesen und zu verstehen. Könnte mir jemand mit einem Makro helfen, das dies automatisch erledigt?

Lösung

Dieses Makro verwendet ein Eingabefeld, um zu fragen, welchen Monat Sie aktualisieren. Verwenden Sie numerische Werte, anstatt den Monat einzugeben. Beispiel: Jan. = 1, Feb. = 2, Mar. = 3. Ich gehe davon aus, dass Sie Januar nicht aktualisieren möchten, sodass das Makro beendet wird, wenn 1 in das Eingabefeld eingegeben wird (sofern es nicht ab Dezember aktualisiert wird, können wir dies ändern es).

Hoffe das hilft.

 Sub Update_Month () Dim answer As Variant Dim jj = 3 answer = InputBox ("Welchen Monat aktualisieren Sie?" & VbCrLf & _ "Bsp .: Januar = 1, Februar = 2, März = 3 usw.") Wählen Sie Case answer Fall 1 Unterfall 2 beenden Für j = 3 bis 6 Bereich ("B" & j) = Bereich ("A" & j) Weiter j Fall 3 Für j = 3 bis 6 Bereich ("C" & j) = Bereich ( "B" & j) Nächstes j Fall 4 Für j = 3 bis 6 Bereich ("D" & j) = Bereich ("C" & j) Nächstes j Fall 5 Für j = 3 bis 6 Bereich ("E" & j ) = Bereich ("D" & j) Nächstes j Fall 6 Für j = 3 bis 6 Bereich ("F" & j) = Bereich ("E" & j) Nächstes j Fall 7 Für j = 3 bis 6 Bereich (" G "& j) = Bereich (" F "& j) Weiter j Fall 8 Für j = 3 bis 6 Bereich (" H "& j) = Bereich (" G "& j) Weiter j Fall 9 Für j = 3 bis 6 Bereich ("I" & j) = Bereich ("H" & j) Nächste j Fall 10 Für j = 3 bis 6 Bereich ("J" & j) = Bereich ("I" & j) Nächste j Fall 11 Für j = 3 bis 6 Bereich ("K" & j) = Bereich ("J" & j) Weiter j Fall 12 Für j = 3 bis 6 Bereich ("L" & j) = Bereich ("K" & j) Weiter j Ende Wählen Sie End Sub 

Beachten Sie, dass

Danke an WutUp WutUp für diesen Tipp im Forum]

Vorherige Artikel Nächster Artikel

Top-Tipps