wahrscheinlich bin ich der Doof, der zum hundertsten mal fragt, aber ich bin in VBA eine Niete. Folgendes Problem: Ich habe eine "Grundtabelle_Vorlage" für Projekte. Aus dieser Vorlage generiere ich per VBA (Schaltfläche "erstelle neues Projekt") eine Kopie für ein neues Projekt und vergebe in dem Zug mittels InputBox einen neuen Blattnamen. Das funktioniert super. Jetzt habe ich in der "Grundtabelle_Vorlage" eine weitere Schaltfläche, mit der ich mittel VBA Code einige Zellwerte in eine weitere Tabelle (hier Kurzzusammenfassung aller Projekte) kopiere und auch immer schön in die erste frei Zeile angesprochen wird und die gewählten Daten dahin eingefügt werden. Das funktioniert auch. Aber nur aus der "Grundtabelle_Vorlage" heraus. Aus der neu generierten Tabelle nicht, da ja im Code in der "Grundtabelle_Vorlage" der "abgebende Tabellennamen" eingebaut ist. Es müsste aber der neu generierte verwendet werden. Heisst also, wenn ich ein Projektblatt neu generiere und es als Projekt1 benenne, dann müsste in dem Code zum weiter geben von Zellwerten an die Zusammenfassungstabelle der Name "Projekt1" im Code als abgebende Tabelle verwendet werden und nicht der ursprünglich hinterlegte Werte "Grundtabelle_Vorlage". Es wäre gut wenn man den Tabellennamen so hinterlegt, dass er immer das aktive Blatt nimmt. Ich hoffe ich habe es nicht zu umständlich beschrieben und hoffe mir von der Fachwelt Hilfe. Vielen Dank schon mal im Voraus.
Hier der Code für die neu zu generierende Projektseite:
Private Sub CommandButton1_Click()
Worksheets("Grundtabelle_Vorlage").Copy before:=Worksheets("Grundtabelle_Vorlage") 'Bitte den Sheet angeben, vor dem das neue Arbeitsblatt eingefügt werden soll
ActiveSheet.Name = "Projekt " & Worksheets.Count - 1
ActiveSheet.CommandButton1.Visible = False 'nicht sichtbar 'Button wird auf der neu generierten Tabelle ausgeblendet
ActiveSheet.Name = InputBox("Bitte geben Sie den Namen für das neue Projekt ein!", "Erstellen Blattname")
ActiveSheet.Name = ActiveSheet.Name
'ActiveSheet.CommandButton2.Visible = True 'sichbar machen des zweiten Button
ActiveSheet.Range("E2").Select
End Sub
Und hier der Code der dann mit einer zweiten Schaltfläche genutzt wird um Daten (Hier H8/J8/L8) in die Zusammenfassung "Projektliste" kopiert wird.
Sub transfer_werte()
Dim Feld1 As String, Feld3 As String, Feld5 As String
Worksheets("Grundtabelle_Vorlage").Select '''''''Hier liegt der Fehler, es müsste der neu generierte Tabellennamen verwendet werden
Feld1 = Range("H8")
Feld3 = Range("J8")
Feld5 = Range("L8")
Worksheets("Projektliste").Select
Worksheets("Projektliste").Range("A1").Select
If Worksheets("Projektliste").Range("A1").Offset(1, 0) > "" Then
Worksheets("Projektliste").Range("A1").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Feld1
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Feld3
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Feld5
End Sub