ich bin was VBA angeht absoluter Neuling. Zur Vereinfachung eines Arbeitsvorgangs möchte ich gerne automatisch einen Monatsbericht erzeugen. Die Arbeitsmappe ist dazu folgendermaßen aufgebaut.
Im ersten Reiter habe ich das Hauptmenü über das ich auf Wunsch per Button die verschiedene Reiter z.B "Energie" aufrufen kann.
Bleiben wir beim Reiter "Energie", da die anderen Blätter ähnlich aufgebaut sind. Hier ist eine Tabelle in der in Spalte E5 bis E15 die Geräte 1 - 10 stehen und in Zeile F4:Q4 die Monate liegen. Zum Monatsende wird die Tabelle entsprechend automatisch über Verknüpfungen gefüllt.
Jetzt gibt es noch ein Tabellenblatt mit einem Leerformular "Monatsbericht", wohin die Zellwerte (in dem Fall Stromzähler) kopiert werden.
Ich hab jetzt schon folgendes mit Hilfestellung zusammen:
Mein Button Monatsbericht ist im Tabellenblatt Hauptmenü eingebettet. Ich habe jetzt eingefügt
Private Sub CommandButton3_Click()
UserForm1.Show
End Sub
Dann öffnet sich die Userform. Hier möchte ich nicht erst in der Combolist einen Monat eintragen, sondern eine Auswahlliste von Januar bis Dezember. Nach Auswahl des Monats und Bestätigung des CommandButton in der Userform werden die Zellwerte in die Monatsberichte kopiert.
Code:
Private Sub Bestätigen_Click()
With Worksheets("Strom")
.Range(.Cells(6, intMonat + 1), .Cells(17, intMonat + 1)).Copy Worksheets("Monatsberichte"). _
_
_
Range("A1") ' linke obere Zelle des Bereiches in Monatsberichte anpassen
End With
End Sub
Private Sub ComboBox1_Change()
intMonat = ComboBox1.ListIndex + 2
End Sub
Den Code habe ich jetzt auf die Combolist und den Commandobutton in der Userform gelegt. Wie muss der Teil angepasst werden, das er nur die Zellwerte kopiert ohne Formatierung, sondern die der Zielzelle übernimmt?
Wenn die Monate in F4 bis Q4 stehen, muss dann stehen .Range(.Cells(6, intMonat + 1), .Cells(17, intMonat + 1)). oder .Range(.Cells(6, intMonat + 1), .Cells(11, intMonat + 1)). Damit das ganze funktioniert fehlt noch einiges, ich hoffe mir kann hier geholfen werden, Danke.
MfG