[Visual Basic] VBA(Excel) Summe über mehrere Tabellen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von liftishifty, 21. Mai 2011 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 21. Mai 2011
    VBA(Excel) Summe über mehrere Tabellen

    Hallo all,

    folgendes Problem, bin jetzt schon ewig am suchen.

    Hab ne Arbeitsmappemit Excel erstellt. Wenn man diese Öffnet hat man eine einzige tabelle in die man etwas eintragen kann und oben im Feld F2 erscheint die Summe aus den eintragungen in der liste.

    Nun gibt es in dieser ersten Tabelle einen Button mit dem sich eine sogenannte Neue Box erstellen lässt.

    Man drückt auf den Button gibt die nummer ein die man haben möchte und es wird automatisch eine Kopie vom aktuellen Arbeitsblatt angelegt, die Werte genullt und oben als Überschrift Automatisch BOX (eingegebene Nummer) angezeigt.

    Mein problem ist jetzt aber das in der 2ten erzeugten tabelle automatisch in dem Feld F2 die Formel drin stehen soll zur Berechnung der Summe von Feld 2 aus Tabelle 1 und Tabelle 2.

    Also mit anderen Worten:

    Tabelle öffnen -> werte eintragen (oben steht die summe) -> auf den Button "Neue Box" anlegen klicken-> Kopie von der vorigen Tabelle wird erstellt ,nur ohne werte-> Oben im Feld F2 steht nun der Wert aus Tabelle 1 Feld F2. -> Nun trage ich in die neue Tabelle werte ein und diese sollen zu dem gesamt wert hinzu addiert werden.

    Ich kann euch ja mal den bisherigen code sagen:

    Sub neuesregister()

    Dim NewName As String

    'Neue Box anlegen

    ActiveSheet.Copy After:=ActiveSheet
    NewName = InputBox("Geben Sie Die Boxnummer ein")
    ActiveSheet.Name = "Pal" & NewName

    'Der neuen Box eine Überschrift geben

    Sheets("Pal" & NewName).Range("B5") = NewName
    Sheets("Pal" & NewName).Range("e2") = Sheets("Pal" & NewName).Range("B5")



    ' Hier soll jetzt der teil mit der Summe kommen
    MsgBox WorksheetFunction.Sum(Range("F7:F31")) 'das hier mit zugriff auf die andere tabelle wäre schon die Lösung
    'Sheets("Pal" & NewName).Range("F2") = a.Value




    ' Hier wird der Rest der Tabelle genullt
    Sheets("Pal" & NewName).Range("C7:C31").ClearContents
    Sheets("Pal" & NewName).Range("D7 31").ClearContents
    Sheets("Pal" & NewName).Range("E7:E31").ClearContents
    Sheets("Pal" & NewName).Range("F7:F31").ClearContents
    End Sub


    Kann über google einfach nichts finden und vermutlich ist das garnicht so schwer aber ich weiß grad echt nicht wie Wär super wenn mir jemand helfen könnte danke!

    Gruß vom Lifti

    // Edit

    Habs jetzt selber hinbekommen. Die Lösung sieht nun so aus:

    a = Sheets("Pal" & NewName - 1).Range("F2")

    Sheets("Pal" & NewName).Range("A33") = a

    ActiveSheet.Cells(2, 6).FormulaR1C1 = "=SUM(R[31]C[-5],R[30]C[-1])"

    Ich schreibe den Wert also erst irgendwo in das neue Tabellenblatt, wo ihn keiner sieht und dann berechne ich die Summe. Ist zwar nicht die fein englische Art aber es klappt^^

    Danke trotzdem!
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.