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

Feld "ROT" ist nicht Leer, dann

Forumthread: Feld "ROT" ist nicht Leer, dann

Feld "ROT" ist nicht Leer, dann
16.08.2013 11:55:23
Markus
Hallo und Mahlzeit!
Das Feld B5 hat den Namen ROT.
Wenn der Inhalt gewechselt wird (CHANGE) und das Feld einen Inhalt hat,
dann Makro ausführen.
Kann mir jemand helfen, wie der Befehlt heisst und wohin das VBA geschrieben werden muss.
Danke
Markus

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Feld "ROT" ist nicht Leer, dann
16.08.2013 12:18:35
JACKD
Hallo Markus
der Befehl lautet
worksheet_change(byval Bereich as Range)
(Hier muss jetzt noch dein Code für die definitionen für den Bereich und die Veränderungsbedingungen)
und ich würde es in das Worksheet legen
Grüße

AW: Feld "ROT" ist nicht Leer, dann
16.08.2013 12:57:48
Markus
Hallo und nach der Mahlzeit!
Ja, das begreife ich alles.
Mein Makro funktioniert auch bestens,
ich möchte aber statt B5 mit dem Namen arbeiten! (Name="ROT")
Markus
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("B5") Then ' wenn B5 geändert wird, dann
If [B5].Value > "*" Then
MsgBox "Feld ROT hat Inhalt, ROT wird eingeblendet"
rot_einblenden
Else
MsgBox "Feld hat keinen Inhalt"
Exit Sub
End If
End If
End Sub

Anzeige
AW: Feld "ROT" ist nicht Leer, dann
16.08.2013 13:08:57
JACKD
Hallo Markus
Musst mal bissl rumprobieren
Evaluate(ActiveWorkbook.Names("ROT").Value)
gibt den Wert aus
ActiveWorkbook.Names("ROT")
gibt dir die Adresse aus
Grüße

AW: Feld "ROT" ist nicht Leer, dann
16.08.2013 13:25:12
JACKD
Wenn dein Code macht was er machen soll, dann passt auch der
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = ThisWorkbook.Worksheets("Tabelle1").Range("ROT") Then
If Evaluate(ActiveWorkbook.Names("ROT").Value) > "*" Then
MsgBox "Feld ROT hat Inhalt, ROT wird eingeblendet"
'rot_einblenden
Else
MsgBox "Feld hat keinen Inhalt"
Exit Sub
End If
End If
End Sub
Allerdings funktioniert das nur dann, wenn "ROT" einen Wert hat, der nicht nochmal eingegeben wird.
(Also auch bei dir)
Sobald eine beliebige Zelle den Wert von B5 bzw. Rot annimmt, startet das Makro
Grüße

Anzeige
Nicht schön
16.08.2013 13:43:52
JACKD
aber selten
Hier mal bissl zusammengefrickelt, damit das Makro nur dann anspringt wenn du konkret nur in der Zelle arbeitest
Private Sub Worksheet_Change(ByVal Target As Range)
Zieladresse = "=Tabelle1!" & Target.Address
If Zieladresse = ActiveWorkbook.Names("ROT") Then
If Evaluate(ActiveWorkbook.Names("ROT").Value) > "*" Then
MsgBox "Feld ROT hat Inhalt, ROT wird eingeblendet"
'rot_einblenden
Else
MsgBox "Feld hat keinen Inhalt"
Exit Sub
End If
End If
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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