Anzeige
Archiv - Navigation
1700to1704
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

Bei Änderungen in Zelle, Wert automatisch ausfülle

Bei Änderungen in Zelle, Wert automatisch ausfülle
14.07.2019 19:51:54
Sergej
Hallo liebe Leute,
1. Wie kann ich bitte per VBA erreichen, dass nur beim Eintrag "100" im Zellenbereich E3:E500 dann in der Spalte J der Text "ERLEDIGT" automatisch geändert wird?
2. Zweiter Fall: Nur wenn der Wert im Zellenbereich E3:E500 vorher auf "100" stand und dann auf irgendein Wert geändert wird, dann soll in Splate J der Text "NEU" eingetragen werden.
Besten Dank im Voraus.
Gruß,
Sergej

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bei Änderungen in Zelle, Wert automatisch ausfülle
14.07.2019 19:56:25
Hajo_Zi
Hallo Sergej,
starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, Doppelklick auf Deine Datei, Doppelklick auf Deine Tabelle, Code ins rechte Fenster kopieren, VBA Editor schließen.
Das Makro wird automatisch gestartet.
Der Code wirkt nur in dieser Tabelle.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" And Target = 100 Then
Application.EnableEvents = False
Range("E3:E500") = "Erledigt"
Columns("J") = "Erledigt"
Application.EnableEvents = True
End If
End Sub

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige
If Target.Address = "$A$1" ist FALSCH
14.07.2019 20:06:18
ALT+255
Wie kann ich bitte per VBA erreichen, dass nur beim Eintrag "100" im Zellenbereich E3:E500 dann in der Spalte J der Text "ERLEDIGT" automatisch geändert wird?

Frag mal Jemanden der neben Dir sitzt ob der lesen kann.
AW: If Target.Address = "$A$1" ist FALSCH
14.07.2019 20:17:59
Hajo_Zi
Mache für Dein Problem einen eigenen Beitrag und Führe nicht den Beitrag von Sergej fort.
Option Explicit                                     ' Variablendefinition erforderlich
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RaBereich As Range                          ' Variable für Bereich
Dim RaZelle As Range                            ' Variable für Zelle
Set RaBereich = Range("E3:E500")                ' Bereich der Wirksamkeit
Set RaBereich = Intersect(RaBereich, Target)
If Not RaBereich Is Nothing Then
'ActiveSheet.Unprotect ("Passwort")
For Each RaZelle In RaBereich
Columns("J") = "Erledigt"
Next RaZelle
'ActiveSheet.protect ("Passwort")
End If
Set RaBereich = Nothing                         ' Variable leeren
End Sub
Gruß Hajo
Anzeige
Teil vergessen
14.07.2019 20:22:05
Hajo_Zi

Option Explicit                                     ' Variablendefinition erforderlich
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RaBereich As Range                          ' Variable für Bereich
Dim RaZelle As Range                            ' Variable für Zelle
Set RaBereich = Range("E3:E500")                ' Bereich der Wirksamkeit
Set RaBereich = Intersect(RaBereich, Target)
If Not RaBereich Is Nothing Then
'ActiveSheet.Unprotect ("Passwort")
For Each RaZelle In RaBereich
If RaZelle = 100 Then
Columns("J") = "Erledigt"
Exit For
End If
Next RaZelle
'ActiveSheet.protect ("Passwort")
End If
Set RaBereich = Nothing                         ' Variable leeren
End Sub
Gruß Hajo
Anzeige
Total daneben, wie so oft. owT
14.07.2019 20:25:45
ALT+255
.
AW: If Target.Address = "$A$1" ist FALSCH
14.07.2019 20:30:46
Sergej
Guten Abend Hajo,
zunächst herzlichen Dank für dein Code.
Nur, wenn ich im Zellenbereich E3:E500 den Wert "100" in einer der Zellen (nehmen wir im Beispiel Zelle E250) eintrage, dann soll nur in J250 "ERLEDIGT" eingetragen werden.
Fall 2: wenn im Zellbereich Zellenbereich E3:E500 nur von Wert "100" auf irgendein Wert der Zellinhalt verändert wird (nehmen wir im Beispiel Zelle E250), dann soll nur für diese Zeile in Splate J sprich J250 der Eintrag auf "NEU" geändert werden.
Ich versuche es anzupassen. :-)
Beste Grüße,
Sergej
AW: If Target.Address = "$A$1" ist FALSCH
14.07.2019 20:38:18
ALT+255
Hi
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E3:E500")) Is Nothing Then
If Target = 100 Then
Target.Offset(, 4) = "Erledigt"
Else
Target.Offset(, 4) = "Neu"
End If
End If
End Sub

Anzeige
AW: If Target.Address = "$A$1" ist FALSCH
14.07.2019 21:37:16
Sergej
Hallo ALT+255,
so bin ich schon näher der Lösung :-)
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E3:E500")) Is Nothing Then
If Target = 100 Then
Target.Offset(, 5) = "ERLEDIGT"
End If
If Target = "" Then
Target.Offset(, 5) = ""
End If
End If
End Sub
Was mir noch fehlt ist: Wenn der Wert nur von 100 auf irgendein Wert geändert wird, dann soll Target.Offset(, 5) = "NEU" sein.
Gruß,
Sergej
AW: If Target.Address = "$A$1" ist FALSCH
14.07.2019 21:59:15
Werner
Hallo,
meinst du so?
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E3:E500")) Is Nothing Then
If Target = 100 Then
Target.Offset(, 5) = "Erledigt"
ElseIf Target = "" Then
Target.Offset(, 5) = ""
Else
Target.Offset(, 5) = "Neu"
End If
End If
End Sub
Gruß Werner
Anzeige
AW: If Target.Address = "$A$1" ist FALSCH
14.07.2019 22:10:12
Sergej
Hallo Werner,
nicht ganz.
Anbei ein paar Beispiele:
1. Wenn in E250 die "100" eintragen wird, dann wird in J250 "ERLEDIGT" eingetragen. Das ist in Ordnung.
2. Wenn in E250 der Wert entfernt wird, dann wird der Eintrag in J250 gelöscht. Das ist in Ordnung.
3. Wenn in E250 bsp. der Wert 45 (also irgendein Zahl) eintragen wird, dann wird in J250 nichts ausgeführt. Das ist in Ordnung.
4. Wenn in E250 vorher die "100" steht und dann bsp. "50" (also irgendein Zahl) eintragen wird, dann soll in J250 "NEU" eingetragen werden. Das fehlt mir noch.
Gruß,
Sergej
Anzeige
AW:auch pruefen ob Offset(, 5) = "ERLEDIGT"
15.07.2019 08:10:51
hary
Moin
So?
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E3:E500")) Is Nothing Then
If Target  100 And Target.Offset(, 5) = "ERLEDIGT" Then
Target.Offset(, 5) = "NEU"
End If
If Target = 100 Then
Target.Offset(, 5) = "ERLEDIGT"
End If
If Target = "" Then
Target.Offset(, 5) = ""
End If
End If
End Sub

gruss hary
Vielen Dank owT
15.07.2019 10:50:16
Sergej

165 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige