Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1764to1768
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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
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
Anzeige
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

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige