Microsoft Excel

Herbers Excel/VBA-Archiv

Formel erw. wenn Tabellenblatt unbekannt


Betrifft: Formel erw. wenn Tabellenblatt unbekannt
von: Jenny
Geschrieben am: 28.11.2018 10:58:48

Hallo Zusammen,
mit diesem Makro werden neue Tabellenblätter eingefügt und benannt:




Private Sub CommandButton1_Click()
Dim wsAct As Worksheet
Dim strBlattname As String
 
Set wsAct = Worksheets("Kopiervorlage")
strBlattname = InputBox("Geben Sie bitte den Blattnamen ohne Leerzeichen ein:")
 
If strBlattname <> "" Then
  wsAct.Copy After:=Sheets(Sheets.Count)
  Sheets(Sheets.Count).Name = strBlattname
End If
End Sub


Jetzt muss aus diesem Tabellenblatt, wo mir der Name noch unbekannt ist, einige bestimmte Zellen zu anderen addiert werden. In dieser Form:
=sum(Tabelle1!I5;Tabelle2!I5)
Wobei ich die Namen der Tabellen nicht kenne und diese Formel (in mehreren Zellen) in einer Zusammenfassung auf dem ersten Tabellenblatt stehen.
Die möchte ich mit einem Makro automatisch aktualisieren lassen... und ich habe ein Brett vorm Kopf und komme nicht auf den richtigen Ansatz.

Wäre toll wenn jemand hier helfen kann.

Gruß Jenny

  

Betrifft: AW: Formel erw. wenn Tabellenblatt unbekannt
von: UweD
Geschrieben am: 28.11.2018 12:57:18

Hallo

so???


Private Sub CommandButton1_Click()
    Dim wsAct As Worksheet, wsNeu As Worksheet
    Dim strBlattname As String, strZelle As String
     
    Set wsAct = Worksheets("Kopiervorlage")
    strZelle = "!I5)"
    
    strBlattname = InputBox("Geben Sie bitte den Blattnamen ohne Leerzeichen ein:")
     
    If strBlattname <> "" Then
        wsAct.Copy After:=Sheets(Sheets.Count)
        Set wsNeu = ActiveSheet
        wsNeu.Name = strBlattname
        
        ' In A1 steht =SUMME(Tabelle1!I5;Tabelle2!I5) 
        With wsAct.Range("A1")
            .Formula = Left(.Formula, Len(.Formula) - 1) & "," & wsNeu.Name & strZelle
        End With
            
    End If
End Sub


LG UweD


  

Betrifft: AW: Formel erw. wenn Tabellenblatt unbekannt
von: Jenny
Geschrieben am: 28.11.2018 13:17:43

Danke UweD.
Ich werde das mal probieren.