Thema Datum  Von Nutzer Rating
Antwort
27.02.2021 01:40:08 Katharina
NotSolved
Blau Zahl automatisch zum Wert einer Zelle addieren
27.02.2021 05:31:09 Gast84106
NotSolved

Ansicht des Beitrags:
Von:
Gast84106
Datum:
27.02.2021 05:31:09
Views:
427
Rating: Antwort:
  Ja
Thema:
Zahl automatisch zum Wert einer Zelle addieren

Ja, das Makro bezieht sich auf ein einzelnes Tabellenblatt.
Zum Beispiel: In Excel Rechtsklick auf eines der Blätter und "Code anzeigen"; dann würde man im sich öffnenden VBA-Editor das Makro einfügen und das gilt dann nur für dieses eine Blatt.

Private Sub Worksheet_Change(ByVal Target As Range)
  On Error GoTo SafeExit
  Application.EnableEvents = False
  If Not Intersect(Target, Range("A1")) Is Nothing Then
    Range("B1").Value = Range("B1").Value + Range("A1").Value
  End If
  Range("A1").Value = 0
SafeExit:
  Application.EnableEvents = True
End Sub

Damit dieses Makro auf mehrere Tabellenblätter angewendet wird - Blätter die ignoriert werden sollen, werden im Makro angegeben - geht man im VBA-Editor im Projekt-Explorer auf DieseArbeitsmappe / ThisWorkbook, öffnet dieses per Doppelklick und fügt dort das Makro ein:

Option Explicit

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  
  'Blätter die ignoriert werden sollen
  Select Case Sh.Name
    Case "Übersicht" ', "Tabelle1", "Tabelle2", "usw"
      Exit Sub
  End Select
  
  'springe zur angegebenen Marke im Makro
  'wenn ein Laufzeitfehler auftritt
  On Error GoTo ErrHandler
  
  'Makro-Ereignisse: AUS
  Application.EnableEvents = False
  
  With Sh
    If Not Intersect(Target, .Range("A1")) Is Nothing Then
      .Range("B1").Value = .Range("B1").Value + .Range("A1").Value
    End If
    .Range("A1").Value = 0
  End With
  
  'Beispiel: Im Tabellenblatt "Übersicht" die Zelle A1 ansprechen.
  ' Jedesmal wenn auf einer der Tabelle die Zelle B1 aufaddiert wurde,
  ' wird im Blatt "Übersicht" der Wert in A1 um 1 erhöht
  With Worksheets("Übersicht")
    .Range("A1").Value = .Range("A1").Value + 1
  End With
  
  Call MsgBox("Workbook_SheetChange() des Blattes '" & Sh.Name & "'", vbInformation)
  
SafeExit:
  'Makro-Ereignisse: AN
  Application.EnableEvents = True
Exit Sub

ErrHandler:
  Call MsgBox("Workbook_SheetChange()" & vbNewLine & vbNewLine & _
              Err.Description, vbCritical, _
              "Fehler " & Err.Number)
  GoTo SafeExit
End Sub

Grüße


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
27.02.2021 01:40:08 Katharina
NotSolved
Blau Zahl automatisch zum Wert einer Zelle addieren
27.02.2021 05:31:09 Gast84106
NotSolved