Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1324to1328
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

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

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

332 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige