Excel das gleiches Makro zur addition in einem Feld, in mehreren Spalten benützen
Hallo Zusammen
Ich habe folgendes Makro gefunden um im gleichen Feld addieren zu können.
Nun möchte ich auch, dass das gleiche Makro in den Spalten C-F ausgeführt wird.
Was muss ich machen?
Grüsse
chatzestrecker
Public letzterWert
Public aendern As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, ActiveSheet.Range("A1:B29")) Is Nothing Then Exit Sub
If Not IsNumeric(Target.Value) Then letzterWert = 0: Exit Sub
If aendern = False Then Exit Sub
Application.EnableEvents = False
Target = Target + letzterWert
letzterWert = 0
aendern = False
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.Intersect(Target, ActiveSheet.Range("B1:B29")) Is Nothing Then Exit Sub
If Not IsNumeric(Target.Value) Then letzterWert = 0: Exit Sub
letzterWert = Target.Value
aendern = True
End Sub
Ich habe folgendes Makro gefunden um im gleichen Feld addieren zu können.
Nun möchte ich auch, dass das gleiche Makro in den Spalten C-F ausgeführt wird.
Was muss ich machen?
Grüsse
chatzestrecker
Public letzterWert
Public aendern As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, ActiveSheet.Range("A1:B29")) Is Nothing Then Exit Sub
If Not IsNumeric(Target.Value) Then letzterWert = 0: Exit Sub
If aendern = False Then Exit Sub
Application.EnableEvents = False
Target = Target + letzterWert
letzterWert = 0
aendern = False
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.Intersect(Target, ActiveSheet.Range("B1:B29")) Is Nothing Then Exit Sub
If Not IsNumeric(Target.Value) Then letzterWert = 0: Exit Sub
letzterWert = Target.Value
aendern = True
End Sub
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 245471
Url: https://administrator.de/forum/excel-das-gleiches-makro-zur-addition-in-einem-feld-in-mehreren-spalten-benuetzen-245471.html
Ausgedruckt am: 05.04.2025 um 17:04 Uhr
8 Kommentare
Neuester Kommentar
Public letzterWert
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, ActiveSheet.Range("B2:H29")) Is Nothing Then Exit Sub
Application.EnableEvents = False
If Not IsNumeric(Target.Value) Or IsEmpty(Target.Value) Then
letzterWert = 0
Else
Target = Target + letzterWert
letzterWert = 0
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.Intersect(Target, ActiveSheet.Range("B2:H29")) Is Nothing Then Exit Sub
If Not IsNumeric(Target.Value) Then letzterWert = 0: Exit Sub
letzterWert = Target.Value
End Sub
Hallo,
Gruß
Public letzterWert
Public aendern As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, ActiveSheet.Range("B2:H29")) Is Nothing Then Exit Sub
If Not IsNumeric(Target.Value) Then letzterWert = 0: Exit Sub
If aendern = False Then Exit Sub
Application.EnableEvents = False
Target = Target + letzterWert
letzterWert = 0
aendern = False
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.Intersect(Target, ActiveSheet.Range("B2:H29")) Is Nothing Then Exit Sub
If Not IsNumeric(Target.Value) Then letzterWert = 0: Exit Sub
letzterWert = Target.Value
aendern = True
End Sub
Gruß
Hast du Makros überhaupt schon im Sicherheitscenter von Excel aktiviert ?
Und wurde der Code im richtigen Abschnitt des VBA-Editors eingefügt, nämlich im Abschnitt des richtigen Worksheets ?
Hier noch das funktionsfähige Demosheet dazu, damit sollte alles klar sein.
Grüße Uwe
Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Einstellungen für Makros > "Alle Makros aktivieren ....", anhaken
Hier noch das funktionsfähige Demosheet dazu, damit sollte alles klar sein.
Grüße Uwe
Das ganze funktioniert nur, wenn der Code im VBAProjekt in jede Tabelle kopiert wird. Steht der Code in der Arbeitsmappe, dann muss er wie folgt geändert werden:
Die Zeile 4 und 15 müssen angepasst werden.
Vorteil ist, dass es dann auf allen Tabellen in der Arbeitsmappe funktioniert.
Gruß
Public letzterWert
Public aendern As Boolean
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Application.Intersect(Target, ActiveSheet.Range("B2:H29")) Is Nothing Then Exit Sub
If Not IsNumeric(Target.Value) Then letzterWert = 0: Exit Sub
If aendern = False Then Exit Sub
Application.EnableEvents = False
Target = Target + letzterWert
letzterWert = 0
aendern = False
Application.EnableEvents = True
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Application.Intersect(Target, ActiveSheet.Range("B2:H29")) Is Nothing Then Exit Sub
If Not IsNumeric(Target.Value) Then letzterWert = 0: Exit Sub
letzterWert = Target.Value
aendern = True
End Sub
Die Zeile 4 und 15 müssen angepasst werden.
Vorteil ist, dass es dann auf allen Tabellen in der Arbeitsmappe funktioniert.
Gruß