Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Spalten bedingt summieren und Zellen formatieren

Gruppe

Bereich

Problem

Wenn in eine Zelle der ersten Zeile einer Spalte eine 12 eingegeben wird, soll eine Addition der Spalte erfolgen.

Lösung
Geben Sie den Ereigniscode in das Klassenmodul des Arbeitsblattes ein.

ClassModule: Tabelle1

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
   Dim iRow As Integer, iCol As Integer
   If IsEmpty(Target) Then Exit Sub
   If Target.Row = 1 And Target.Value = 12 Then
      Application.EnableEvents = False
      On Error GoTo ERRORHANDLER
      iCol = Target.Column
      iRow = Cells(Rows.Count, iCol).End(xlUp).Row
      Range(Cells(2, iCol), Cells(iRow, iCol)) _
         .NumberFormat = "#,##0.00"
      Cells(iRow + 1, iCol).Formula = _
         "=sum(R2C" & iCol & ":R" & iRow & "C" & iCol & ")"
   End If
ERRORHANDLER:
   Application.EnableEvents = True
End Sub