Summe bilden per Makro

Bild

Betrifft: Summe bilden per Makro von: Firat Caparogullari
Geschrieben am: 16.03.2005 09:37:51

Hallo zusammen,

ich habe folgenden Code geschrieben, aber er funkt noch nicht richtig..

Sub Total_Summe()
Dim a As Integer
Dim b As Integer
Dim summe As Integer
summe = 0

For a = 9 To 1000
If ActiveSheet.Cells(3, a) = "" Then
For b = 9 To a
summe = summe + ActiveSheet.Cells(3, b)
Next b
Activsheet.Cells(3, a + 2) = summe
End If
Next a

Hierbei soll er in die Spalte C gehen und ab der Zeile 9 untersuchen, ob zuerst diese leer ist. das macht er dann solange, bis die spalte zu ende ist und er eine leere Zeile findet. Nun soll er die Summe von C9 bis zum Ende errechen und diesen Wert dann der Zelle, die zwei Zeilen unterhalb der letzten Zeile ist zuweisen.
Wo ist der Fehler?

Bild


Betrifft: AW: Summe bilden per Makro von: Domke, Frank
Geschrieben am: 16.03.2005 09:52:59

Hallo Firat (ist das Dein Vorname?),
wenn ich Dich richtig verstanden habe, habe ich hier eine Lösung für Dich, die auch auf Inhaltsänderungen in der Spalte C reagiert!

Sub TotalSumme()
    Dim ws As Worksheet
    Dim lngLastRow As Long
    Set ws = ActiveSheet
    lngLastRow = ws.Cells.SpecialCells(xlCellTypeLastCell).Row
    With ws.Cells(lngLastRow + 2, "C")
        .Formula = "=SUM(C9:C" & lngLastRow & ")"
        ' Hier evtl. Zelle formatieren
        '.HorizontalAlignment = xlRight
        '.NumberFormat = "#,##0"
    End With
    Set ws = Nothing
End Sub

Viel Erfolg
Frank.


Bild


Betrifft: AW: Summe bilden per Makro von: Firat Caparogullari
Geschrieben am: 16.03.2005 10:00:25

Hi Frank,

Firat = Vorname :)

Er errechnet die SUmme richtig, jedoch setzt er die Zahl nicht 2 zeilen unterhalb des letzten Wertes von der Spalte C, sondern in die Zeile 1017 :)
weiss du warum?

danke ..


Bild


Betrifft: AW: Summe bilden per Makro von: Domke, Frank
Geschrieben am: 16.03.2005 10:21:13

Hallo Firat,

in der Prozedure wird SpezialCells verwendet. Diese ermittelt die letzte "benutzte" Zelle. Diese kann leer sein. Leider setzt Excel nicht immer die Letzte Zelle zurück. Bitte suche im Forum oder Internet unter "Letzte Zelle zurücksetzen" oder so ähnlich! Ich glaube, so etwas im Forum schon gesehen zu haben!
Alternativ kannst Du auch die letzten Zelle auch so ermitteln:
LastCell = Cells.Find(What:="*", After:=[C9], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
lngLastRow = LastCell.Row
Viel Erfolg
Frank.


Bild


Betrifft: AW: Summe bilden per Makro von: Firat Caparogullari
Geschrieben am: 16.03.2005 10:25:18

danke...


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Summe bilden per Makro"