Clever-Excel-Forum

Normale Version: Summe bilden VBA
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Code:
ThisWorkbook.Worksheets("Übersicht").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Value = "Summe"
Hallo zusammen,
ich würde gerne für die Spalte B eine Summe bilden. Die Anzahl an Zeilen innerhalb der Spalte kann variieren. Die Summe soll in die erste freie Zelle am Ende geschrieben werden. Die erste zu summierende Zelle wäre B20 (und wie gesagt nach unten hin offen). Den Text "Summe" habe ich in Spalte A wie oben stehend hin bekommen aber mit der Summe das will nicht klappen =(
Freue mich über Input,
Grüße Leo
Hallo Leo,

Code:
Dim Freie as Long

With ThisWorkbook.Worksheets("Übersicht").
    Freie = .Range("B" & Rows.Count).End(xlUp).Row + 1
   .Range("A" & Freie) = "Summe"
   .Range("B" & Freie) = WorksheetFunction.Sum(Range("B20:B" & Freie - 1)
End With
Servus Berni,

vielen Dank fürs Erste. Der Code wirft an der richtigen Stelle die falsche Zahl aus Undecided
Ergebnis müsste ~-30 Mio. sein, raus kommt 619.000..
hast du eine Idee woran das liegen mag?

Grüße
Leo
Äh... nein. Ohne deine Datei zu kennen...
Aber geh mal mit F8 den Code im Einzelschrittmodus durch. Wenn der gelbe Balken unterhalb der Zeile
Code:
Freie = .Range("B" & Rows.Count).End(xlUp).Row + 1
steht, fahr mal mit dem Mauszeiger auf "Freie" und schau, welcher Wert angezeigt wird. Erkennt Excel die richtige freie Zeile?
Ich bin ja mal davon ausgegangen, dass in Spalte A und B gleich viele Einträge sind.
Code:
Dim lngLetzteZeile As Long

With Worksheets("Übersicht")
'letzte Zeile mit Daten in Spalte H ermitteln:
lngLetzteZeile = .Cells(Rows.Count, 2).End(xlUp).Row
'eine Zeile darunter die Summe eintragen:
.Cells(lngLetzteZeile + 1, 2).Formula = "=Sum(B20:B" & lngLetzteZeile & ")"
End With
Habe es jetzt hiermit umgesetzt. Aber tausend Dank für deine Hilfestellung.