Summe bilden VBA
#1
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
Top
#2
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
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • Leonhard
Top
#3
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
Top
#4
Ä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.
Schöne Grüße
Berni
Top
#5
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.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste