Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1652to1656
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellen aufsummieren

Zellen aufsummieren
21.10.2018 12:10:40
SchorschXY
hallo,
Folgendes Problem: mein VBA Code soll die Summe aus Zelleninhalten bilden. Die Zellen sind zusammenhängend über der Zelle, in der zum Schluss das Ergebnis stehen soll.im einzelnen habe ich folgendes vor.
1. Adresse des End-Zelle der Summenbildung herausfinden. Aus dieser info mache ich einen String. --> AdressEnd
2. Adresse der Begin-Zelle der Summenbildung herausfinden. Das ist die Zelle unter der ersten Leerzelle. Aus dieser Info mache ich einen String --> AdressBegin.
3. Aus den beiden Adressen einen Range machen. --> RangeSum
4. Zum Schluss diesen Zellenbereich aufsummieren und in der "ActiveCell" ausgeben.
Die beiden Adressen (AdressBegin und AdressEnd) bekomme ich. Ab ist es mir unklar ob ich den Range noch bilden kann. Was definitiv nicht funktioniert ist die Summenbildung.
Hier noch der Code:

Sub CommandButton1_Click()
Dim AdressSum As String
Dim AdressEnd As String
Dim AdressBegin As String
Dim SumRange As String
Dim RangeSum As Range
Sheets("Zeiterfassung").Unprotect ""
If Sheets("Zeiterfassung").Range("B2").Value = 0 Then
ActiveCell.Offset(0, 3).Activate
AdressEnd = ActiveCell.Offset(-1, 0).Address(False, False)
AdressBegin = ActiveCell.Offset(-1, 0).End(xlUp).Address(False, False)
Set RangeSum = Worksheets("Zeiterfassung").Range(AdressBegin, AdressEnd)
ActiveCell.Value = Sheets("Zeiterfassung").WorksheetFunction.Sum(RangeSum)
ActiveCell.Offset(1, -3).Activate
Else
MsgBox "Bitte Arbeitszeit beenden"
End If
Sheets("Zeiterfassung").Protect ""
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen aufsummieren
21.10.2018 12:37:12
onur
Wenn es nur eine Spalte (sp) betrifft und du die erste Zeile (z1) und die letzte Zeile (z2) kennst, ist Rangesum = Range(Cells(z1,sp),Cells(z2,sp)).
AW: Zellen aufsummieren
21.10.2018 12:49:17
Sepp
Hallo Schorsch,
ungetestet!
Sub CommandButton1_Click()
  With Sheets("Zeiterfassung")
    .Unprotect ""
    If .Range("B2").Value = 0 Then
      ActiveCell.Offset(0, 3) = Application.Sum(ActiveCell.Offset(-1, 0), ActiveCell.Offset(-1, 0).End(xlUp))
    Else
      MsgBox "Bitte Arbeitszeit beenden"
    End If
    .Protect ""
  End With
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Zellen aufsummieren
21.10.2018 13:12:23
Werner
Hallo,
@Sepp:
Wenn ich das richtig sehe, dann will er doch die Summe oberhalb vom Offset(0, 3)
Sub CommandButton1_Click()
With Sheets("Zeiterfassung")
.Unprotect ""
If .Range("B2").Value = 0 Then
ActiveCell.Offset(, 3) = WorksheetFunction.Sum(Range(ActiveCell.Offset(-1, 3), _
ActiveCell.Offset(-1, 3).End(xlUp)))
Else
MsgBox "Bitte Arbeitszeit beenden"
End If
.Protect ""
End With
End Sub
Gruß Werner
AW: Zellen aufsummieren
21.10.2018 16:37:21
SchorschXY
ja, stimmt. Die Spalte, die aufsummiert werden soll stimmt nicht ganz.... Egal. Das kriege ich hin. Das Problem ist für mich gelöst. Danke euch beiden!
Anzeige
Gerne u.Danke für die Rückmeldung. o.w.T.
21.10.2018 21:29:35
Werner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige