Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
816to820
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
816to820
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

target.name.name

target.name.name
02.11.2006 15:03:42
eres
Hallo Excel-Freunde,
benutze folgenden Ereigniscode:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Name.Name = "TREFFER" Then
MsgBox "blubberblubber", vbCritical
End If
End Sub

Ändere ich nun die Zelle mit Namen "TREFFER" erhalte ich wie gewünscht die MsgBox. Ändere ich hingegen irgend eine andere Zelle erhalte ich die Fehlermeldung: Laufzeitfehler 1004, Anwendungs- oder Objektdefinierter Fehler.
Das Sheet ist nicht geschützt, hat keine verbundenen Zellen.
Kann mir jemand einen Tipp geben, woran es liegen könnte ?
Vielen Dank im voraus und Gruss ans Forum
erwin

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: target.name.name
02.11.2006 15:14:44
Dan
Hi, mit target.name.name fragst Du den Name des Name Objektes vom Target.
Also etwas so:
dim n as name
set n = target.name
if(n.name = "TREFFER")then ...
Wenn man etwas veraendert in einer Zelle, wo kein 'Name' definiert ist, ist der Verweiss target.name unguelitig und der Error erscheinnt.
Ist es verstaendlich mit meiner Deutch? :-) Gruss Dan, cz.
AW: target.name.name
02.11.2006 15:20:30
eres
Hallo Dan, vielen Dank für die verständliche Erklärung.
Habe es dann so gelöst:

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Goto Ende
If Target.Name.Name = "TREFFER" Then
MsgBox "blubberblubber", vbCritical
End If
Ende:
End Sub

Ist sicherlich nicht elegant, funktioniert aber ...
Falls noch jemand etwas elegantes empfehlen könnte wäre ich natürlich sehr dankbar.
Gruss
erwin
Anzeige
AW: target.name.name
03.11.2006 17:37:18
Erich
Hallo Erwin,
probier mal diese Möglichkeiten:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [TREFFER]) Is Nothing Then
'oder
'  If Target.Address = [TREFFER].Address Then
'oder
'  If Target.Address = Range("TREFFER").Address Then
MsgBox "blubberblubber", vbCritical
End If
End Sub
On Error ... vermeide ich möglichst.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: target.name.name
06.11.2006 08:34:48
eres
Hallo Erich,
das ist natürlich eine saubere und elegante Lösung.
Habe ich sofort reinkopiert und funktioniert prima.
(War aber auch nicht anders zu erwarten bei der Quelle:
"Erich aus Kamp-Lintfort" = Qualtitätsstufe 1
Nochmals vielen Dank und Grüsse an den Niederrhein
erwin
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige