Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellwert überschreiben wenn Bedingung

Zellwert überschreiben wenn Bedingung
26.06.2020 10:39:49
Jasmin
Hallo zusammen,
ich habe ein Problem und finde leider keine Lösung.
In meiner Tabelle in der Spalte L kann mittels Dropdown Liste der Eintrag "überarbeitet" ausgewählt werden.
Sollte dies der Fall sein, soll der händisch eingetragene Zelleninhalt von Spalte J durch 0,00 € ersetzt werden.
Müsste mit einem Marko funktionieren, aber VBA ist nicht mein Fachgebiet.
Hat bitte jemand eine Lösung für mich.
Danke vorab
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellwert überschreiben wenn Bedingung
26.06.2020 11:12:30
EtoPHG
Hallo Jasmin,
VBA-Editor öffnen (Alt-F11)
Mit Doppelklick auf das entsprechende Tabellenblatt ein leeres Editierfenster öffnen.
Diesen Code hineinkopieren:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rC As Range
If Target.Column = 12 Then
Application.EnableEvents = False
For Each rC In Target.Cells
If rC.Column = 12 And rC.Text = "überarbeitet" Then rC.Offset(, -2). _
ClearContents
Next rC
Application.EnableEvents = True
End If
End Sub
Gruess Hansueli
Anzeige
AW: Zellwert überschreiben wenn Bedingung
26.06.2020 11:25:44
Jasmin
Hallo Hansueli,
danke für die schnelle Antwort, habe es so gemacht aber es passiert leider nichts.
Bei einem meiner Module kann ich es mit Alt+F8 zum Laufen bringen.
Muss ich nach dem Hineinkopieren noch etwas beachten?
Sorry :(
Grüße
Jasmin
AW: Zellwert überschreiben wenn Bedingung
26.06.2020 11:35:36
EtoPHG
Hallo Jasmin,
Nein. Das ist ein Code, der automatisch greift, wenn in Spalte L eine Zelle verändert wird.
Wird diese mit dem Text "überarbeitet" belegt, wird die Zelle der Spalte J in der gleichen Zeile gelöscht. Aber du wolltest eigentlich 0 eingetragen haben, darum ersetze den Code durch:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rC As Range
If Target.Column = 12 Then
Application.EnableEvents = False
For Each rC In Target.Cells
If rC.Column = 12 And rC.Text = "überarbeitet" Then _
rC.Offset(, -2) = 0
Next rC
Application.EnableEvents = True
End If
End Sub
Wichtig ist, der Code muss im Klassenmodul des richtigen Tabellenblatt stehen und nicht etwa in einem Modul. Mit Alt-F8 kannst Du diesen Code nicht zum Laufen bringen.
Ändere einfach mal eine Zelle in Spalte L auf irgendwas und dann in einem 2ten Schritt auf "überarbeitet" (kleingeschrieben!)
Gruess Hansueli
Anzeige
AW: Zellwert überschreiben wenn Bedingung
26.06.2020 11:58:48
Jasmin
Ok verstanden danke für die Erläuterung.
Funktioniert leider trotzdem nicht :(
AW: Bitte Beispielmappe hochladen...
26.06.2020 12:18:22
EtoPHG
Hallo,
Kannst du eine anonymisierte Beispielmappe hochladen, in dem es nicht funktioniert!
Gruess Hansueli
Na ja, wenn alles anders wird...
26.06.2020 13:52:11
EtoPHG
Jasmin,
kann das nicht funktionieren.
In der Erstanfrage: Spalte L, in der Beispielmappe: Spalte K
In der Erstanfrage: -1 Spalten (J) auf 0 setzten, in der Beispielmappe -1 Spalte (J)
Zudem enthält die Beispielmappe keinen Code, warum?
Also für deine Beispielmappe diesen Code in das Tabellenblatt 1:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rC As Range
If Target.Column = 11 Then
Application.EnableEvents = False
For Each rC In Target.Cells
If rC.Column = 11 And rC.Text = "überarbeitet" Then _
rC.Offset(, -1) = 0
Next rC
Application.EnableEvents = True
End If
End Sub
Gruess Hansueli (...bleib Fröhlich ;-)
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige