Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: wenn Wert in Spalte A ändert Zahl in Spalte B +1

wenn Wert in Spalte A ändert Zahl in Spalte B +1
07.11.2007 15:03:00
maruseru
Hallo werte Profis
Aufgrund der wackeligen Formulierung von gestern hier nochmals meine Frage:
Kann ich mit der Wenn Funktion oder per Makro folgendes lösen?
Wenn eine Zelle in Spalte A sich ändert (nur Werte) soll sich der Wert (Zahl) in Spalte B um den Wert 1 erhöhen.
Gruss
Maruseru

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wenn Wert in Spalte A ändert Zahl in Spalte B +1
07.11.2007 15:44:34
Wolli
Hallo Maruseru, Du kannst, aber nur mit Hilfe einer Ereignisprozedur.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Target.Offset(0, 1) = Target.Offset(0, 1) + 1
End If
End Sub


In diesem Fall auf die Spalte A (column = 1) eingeschränkt. Die Spalteneinschränkung sollte unbedingt drinbleiben, denn sonst ruft sich die Prozedur u.U. endlos selbst auf, denn sie ändert ja ihrerseits die Tabelle.
Klappt's?
Gruß, Wolli

Anzeige
AW: wenn Wert in Spalte A ändert Zahl in Spalte B +1
07.11.2007 15:54:00
maruseru
Hallo Wolli
Hat leider nicht funktiniert. Liegt meistens an mir. HAbe mal eine Mini Datei hochgeladen. Der Code habe unter Modul 1 eingefügt.
Gruss
Maruseru
https://www.herber.de/bbs/user/47493.xls

AW: wenn Wert in Spalte A ändert Zahl in Spalte B +1
07.11.2007 16:01:00
Wolli
Ich schau gar nicht rein, der Code muss natürlich ins Tabellenblatt, also im VBA-Editor Tabelle - Code anzeigen (F7), dann kann's gehen.
Gruß, Wolli

Anzeige
AW: wenn Wert in Spalte A ändert Zahl in Spalte B +1
07.11.2007 16:34:00
maruseru
Hallo Wolli
... und alles funkioniert wie ich mir vorgestellt habe. Muss noch viel lernen.
Danke und Gruss
Maruseru

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Wert in Spalte A ändern und Zahl in Spalte B erhöhen


Schritt-für-Schritt-Anleitung

Um den Wert in Spalte B um 1 zu erhöhen, wenn sich der Wert in Spalte A ändert, kannst Du eine Ereignisprozedur im VBA-Editor einfügen. Folge diesen Schritten:

  1. Öffne Deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Suche im Projekt-Explorer das Tabellenblatt, für das Du die Funktion anwenden möchtest.

  3. Doppelklicke auf das entsprechende Tabellenblatt, um das Code-Fenster zu öffnen.

  4. Füge den folgenden Code in das Code-Fenster ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Column = 1 Then
           Target.Offset(0, 1) = Target.Offset(0, 1) + 1
       End If
    End Sub
  5. Schließe den VBA-Editor und teste die Funktion, indem Du einen Wert in Spalte A änderst.


Häufige Fehler und Lösungen

  • Fehler: Der Code wird nicht ausgeführt.

    • Stelle sicher, dass der Code im richtigen Tabellenblatt eingefügt wurde und nicht in einem Modul.
  • Fehler: Der Wert in Spalte B erhöht sich nicht.

    • Überprüfe, ob Du tatsächlich einen Wert in Spalte A änderst. Der Code funktioniert nur, wenn sich der Wert ändert.

Alternative Methoden

Falls Du keine VBA-Makros verwenden möchtest, kannst Du auch eine Formel in Spalte B verwenden, die den Wert in Spalte A überprüft. Beachte, dass dies nicht die gleiche Funktionalität hat, aber eine einfache Lösung sein kann.

  1. In Zelle B1 kannst Du die folgende Formel eingeben:

    =WENN(A1<>""; B1+1; B1)
  2. Diese Formel zählt jedoch nicht automatisch hoch, wenn sich der Wert ändert. Sie ist eher für statische Werte gedacht.


Praktische Beispiele

Wenn Du in Zelle A1 den Wert "Test" eingibst und dann diesen Wert in A1 erneut änderst, wird in B1 der Wert um 1 erhöht. Wenn Du beispielsweise in A1 von "Test" auf "Beispiel" änderst, wird der Wert in B1 von 0 auf 1 erhöht (sofern B1 anfangs 0 war).


Tipps für Profis

  • Achte darauf, dass Du den Code regelmäßig speicherst, um Datenverlust zu vermeiden.
  • Teste den Code in einer Kopie Deiner Datei, um sicherzustellen, dass alles wie gewünscht funktioniert.
  • Nutze die Debug.Print Funktion, um den Ablauf zu überprüfen und mögliche Fehlerquellen zu finden.

FAQ: Häufige Fragen

1. Kann ich den Code für mehrere Spalten verwenden? Ja, Du kannst den Code anpassen, um auch andere Spalten zu berücksichtigen. Ändere dazu die If Target.Column = 1 Bedingung entsprechend.

2. Funktioniert dieser Code in Excel 365? Ja, der Code ist kompatibel mit Excel 365 und anderen Versionen, die VBA unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige