Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
436to440
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
436to440
436to440
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Welches Ereignis?

Welches Ereignis?
09.06.2004 18:38:58
Frank
Hallo Excelfans,
gibt es ein Ereignis, das ausgelöst wird, wenn in einer Mappe ein
neuer Name definiert wird oder auch, wenn ein bestehender Name
gelöscht wird? Wenn ja, wie gehts? Wenn nein, hat jemand einen
Hinweis auf ein workaround?
Grüße Frank

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Welches Ereignis?
09.06.2004 18:50:13
ChrisL
Hi Frank
Vielleicht kannst du noch etwas Hintergrund Informationen geben... z.B. die Funktion "Namen einfügen" ganz deaktivieren oder gleich die Tabelle/Mappe schützen?
Gruss
Chris
AW: Welches Ereignis?
09.06.2004 18:56:16
Frank
Hallo Chris,
ich weiß nicht, wie ich das noch beschreiben soll, also Versuch:
Ich lege einen Namen fest: Chris bezieht sich auf Tabelle1!A1:B10
oder ich lösche im Dialog Namen definieren diesen Namen wieder.
Wird da ein Ereignis ausgelöst, was ich verwenden kann, um darauf zu
reagieren? Jetzt klarer?
Grüße Frank
AW: Welches Ereignis?
09.06.2004 19:09:53
ChrisL
Hi Frank
Unter Hintergrundinformationen verstehe ich etwas anderes, nämlich das "Wieso?".
Wenn die Frage so lautet behaupte ich "nein".
Gruss
Chris
Anzeige
AW: Welches Ereignis?
09.06.2004 19:19:20
andre
ich sage auch nein.
Du kannst nur als "Krücke" bei einem oder mehreren Ereignissen prüfen, ob noch alle Namen da sind. Damit wären wir wieder bei der ersten Antwort mit der Frage nach dem Wieso um eine geeignete alte Naive ;-) zu finden.
AW: Welches Ereignis?
09.06.2004 19:29:35
Frank
Hallo andre,
also ziemlich klare Aussagen, es gibt kein Ereignis, das ausgelöst wird.
Das "Wieso" ist dabei doch unwichtig und dauert zu lange es zu erklären.
Grüße Frank
AW: Welches Ereignis?
09.06.2004 19:37:40
K.Rola
Hallo,
ein Ereignis gibts nicht, aber du könntest periodisch, z.B. mit einer
OnTime oder TimerProc- Prozedur die Anzahl der Namen, oder natürlich
auch die Namen der Namen(wie lustig)selbst überprüfen.
Gruß K.Rola
Anzeige
AW: Welches Ereignis?
09.06.2004 20:06:19
Frank
Hallo K.Rola,
das war der Hinweis. Ich habe in der Recherche einen Code von Nepumuk
gefunden, der mit leichter Änderung genau das macht. Danke auch dir.
Grüße Frank
Uuuuiii schade ...
09.06.2004 20:34:28
NE
äh' neee ich mein schön natürlich,
kannst bitte mal den Link verraten??? [ich bin im suchen ne Null ;;-))]
BTW war zwischenzeitlich da gelandet,
wobei first vielleicht aufs _Open zu tun ...
bei second Null Plan -- aber siehe K.Rola
Da ich nunmal rumgebastelt hatte poste ichs trotzdem ...
Eins bekomm ich nur nich in den Griff, die Sache mit den Indexnummern und zugehörigen
Namen, das klappt hinten und vorne nicht und überhaupt ...,
egal war nur ein Versuch, weisse Flagge ;-)
Gruss Nancy
--
Option Explicit
Public nc As New Collection

Sub first()
Dim n As Name
For Each n In ThisWorkbook.Names
nc.Add n.Name
Next
End Sub


Sub second()
Dim i%, j%
With ThisWorkbook.Names
For i = 1 To .Count
If i > nc.Count Then
MsgBox .Item(i).Name & " looks like a new name"
nc.Add .Item(i).Name
End If
Next
For j = nc.Count To 1 Step -1
If j > .Count Then
MsgBox nc.Item(j) & " looks like deleted"
nc.Remove j
End If
Next
End With
End 

Sub

Anzeige
AW: Uuuuiii schade ...
09.06.2004 21:22:19
Frank
Hallo Nancy,
hier der Code, nur dass ich die Namen nicht in eine Tabelle schreibe. Start und
Stopp werden in WorkbookOpen/BeforeClose aufgerufen.
Option Explicit
Declare

Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Declare 

Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Dim Awnd As Long
Public 

Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long)
Namen_listen
End Sub


Sub start()
Awnd = Application.hwnd
SetTimer Awnd, 0, 1000, AddressOf TimerProc
End Sub


Sub stopp()
KillTimer Awnd, 0
End Sub


Sub Namen_listen()
Dim nc As Integer, n As Integer
nc = ActiveWorkbook.Names.Count
If nc = 0 Then Exit Sub
For n = 1 To nc
Cells(n, 1) = Names(n).Name
Next
End Sub

Gruß Frank
Anzeige
Okay thx
09.06.2004 21:38:39
NE
Hallo Frank,
Danke :-)
Gruss
Nancy

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige