Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

VBA / Makro Bereich kopieren





Frage

Hallo ich stehe wahrscheinlich vor dem Wald und seh´ die Bäume nicht!? :-(( Fange gerade mit dem Thema VBA/Makro-Einsatz an, daher blättere ich seit Stunden hier im Excel Forum, um einen geeigneten Thread zu finden. Habe aber noch keinen richtig passenden Beitrag finden können. Also hier mein Problem: Die Datei namens Stat.xls beinhaltet 13 Sheets (Januar, Februar, ..., Dezember und letztlich Gesamt). Aus den Monatstabellen möchte ich die einzelnen Summen aus dem jeweiligen Bereich B35 bis R35 (nur den Inhalt, also ohne Formatierungen, wie Rahmen usw.) in den dafür vorgesehenen Bereich der Tabelle "Gesamt" kopieren, wenn in der jeweiligen Monatstabelle ein Häkchen gesetzt ist (Januar=checkbox1, Februar=checkbox2, usw.) Also Tabelle Januar erledigt (Häkchen in checkbox1) dann kopiere den Bereich B35:R35 nach "Gesamt" B3:R3, Februar entsprechend nach B4:R4 usw. Ich erwarte nicht unbedingt eine fertige Lösung, allerdings weiss ich auch nicht, wie ich das in VBA umsetzen kann. Kann mir bitte jemand auf die Sprünge helfen? Vielen herzlichen Dank nightdream

Antwort 1 von mapet

hallo

Vielleicht sehe ich nicht das ganze Problem, aber wenn Du die Tabelle gesamt mit den Monaten verknüpfst, siehst Du laufend den gesamten Umsatz und nicht nur wenn der Monat erledigt ist.
Macht doch auch Sinn oder nicht?

gruss mapet



Antwort 2 von nightdream

@mapet

Danke für den Tipp. Vorher hatte ich das mit einer Wenn-Abfrage gelöst, aber ich möchte gerne VBA erlernen und nachvollziehen können.
Danke Dir trotzdem, war sicherlich gut gemeint.

Gruß
nightdream

Antwort 3 von coros

Hi nightdream,

nachfolgender Code kopiert den von Dir angegebenen Bereich aus Tabelle "Januar" in den von Dir angegebenen Bereich in Tabelle "Gesamt", wenn in der CheckBox ein Haken gesetzt wird. Kopiere den Code in das Tabellenblatt "Januar".

Private Sub CheckBox1_Click()
Application.ScreenUpdating = False
If CheckBox1 = True Then
Worksheets("Januar").Range("B35:R35").Copy
Worksheets("Gesamt").Range("B3").PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If
End Sub



Ich hoffe, das ist es was Du wolltest. Für die anderen Monate mustt DU den Code nur in die entsprechenden Tabellen kopieren und den Blattnamen ändern.
Bei Fragen oder Problemen melde Dich noch mal.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von nightdream

Hallo coros,

funktioniert leider nicht. Ich bekomme eine Fehlermeldung "Laufzeitfehler ´9´: Index ausserhalb des gültigen Bereichs und zwar markiert er

Worksheets("Januar").Range("B35:R35").Copy

Die Tabelle heißt aber definitiv Januar. Mache ich was falsch?

MfG

nightdream

Antwort 5 von nightdream

Hallo coros,

weiß der Geier wieso, aber nachdem ich den Code in Tabelle Februar kopiert und entsprechend angepasst hatte, funktioniert es dort hervorragend! Dann in "Januar" kopiert und auf einmal klappt es da auch!?

Vielen herzlichen Dank für Deine Mühe! Jetzt bin ich richtig neugierig auf VBA geworden...

PS: Bin übrigens auch Modellbahner, scheint ein altersbedingter Virus zu sein :-))

Antwort 6 von coros

Hi nightdream,

sorry, dass ich gestern nicht mehr auf Deine Frage geantwortet habe, aber ich bin nicht mehr an den PC gekommen. Aber Du hast es ja auch alleine hinbekommen. Danke auch für die Rückmeldung.

MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.

PS: Das mit der Modellbahn und dem Alter liegt wahrscheinlich auch an den zu hohen Preisen für das ganze Zubehör. Als Kind konnte ich mir das einfach nicht leisten.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: