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

CodeName von neu angelegten Worksheets

CodeName von neu angelegten Worksheets
10.10.2003 03:29:32
Heinrich Schewe
Hallo Excelperten,

folgender Code bringt mir den Codenamen, wenn das VBE-Fenster geöffnet ist. Wenn nicht, kommt ein leerer String. Woran liegt das, bzw. wie komme ich an den Codenamen? (Excel 97, VBA Extensibility 5.3 aktiviert)


Sub test()
Dim cn As String
Dim wks As Worksheet
Set wks = ThisWorkbook.Worksheets.Add
cn = wks.CodeName
MsgBox "Codename = " & cn
End Sub


Ich hoffe es kann mir jemand weiterhelfen...

Gruß,
Heinrich

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

Betreff
Datum
Anwender
Anzeige
AW: CodeName von neu angelegten Worksheets
10.10.2003 06:31:29
Willie
Guten Morgen Heinrich
Ich denke du suchst nur nach Name hier ein Beispiel für die ersten 3 Tabellenblatter!
In der Msgbox siehst du den Unterschied!
Gruß
Willie


Sub unterschied ()
For i = 1 To 3
Set wks = ThisWorkbook.Worksheets(i)
cn = wks.CodeName
blName = wks.Name
MsgBox "Codename = " & cn & vbLf & _
"Blattname = " & blName
Next
End Sub

AW: CodeName von neu angelegten Worksheets
10.10.2003 07:24:27
Heinrich Schewe
Der Unterschied zwischen Name und CodeName ist mehr bewußt und ich brauche den CodeNamen, um dem neu hinzugefügten Arbeitsblatt auch ein paar Ereignisprozeduren spendieren zu können.
Das soll dann über

ThisWorkbook.VBProject.VBComponents(cn).CodeModule.AddFromString text

passieren, aber solange der Codename leer ist kriege ich das nicht hin...
Anzeige
AW: CodeName von neu angelegten Worksheets
10.10.2003 07:30:21
Willie
Aber der ist doch nicht mehr leer!
oder ist das nur ein Zeitmanagement Problem?
dann würde ich einfach diese Zeile nach dem Add ein fügen!
Application.Wait (Now + TimeValue("0:00:3")) ' Das Marko wartet dann 3 Sekunden!

Mehr fällt mir dazu leider nicht ein
Gruß
Willie
AW: CodeName von neu angelegten Worksheets
10.10.2003 07:47:34
Heinrich Schewe
Das bringt leider auch nichts....

Wie gesagt: solange das VBE-Fenster offen ist funktioniert es und ich bekomme den richtigen CodeName, wenn es geschlossen ist ist der String leer. :-(
AW: CodeName von neu angelegten Worksheets
10.10.2003 07:55:32
Willie
Heinrich da fällt mir noch was ein
Hast du deine Variable cn als public declariert? Wenn nein
dann versuche es mal damit!
Willie
Anzeige
AW: CodeName von neu angelegten Worksheets
10.10.2003 08:04:13
Heinrich Schewe
bringt leider auch nichts. Vielen Dank für deine Bemühungen
Heinrich
Echt Schade
10.10.2003 08:15:44
Willie
Echt Schade Sorry! Trotzdem noch einen schönen TAG
Gruß
Willie
AW: CodeName von neu angelegten Worksheets
10.10.2003 06:35:56
Harald Kapp
Hallo Heinrich,
ich kann Dir zwar leider nicht genau sagen, was es moit dem CodeNamen auf sich hat, aber der einfache "Name" genügt auch:


Sub test()
Dim cn As String
Dim wks As Worksheet
Set wks = ThisWorkbook.Worksheets.Add
cn = wks.Name
MsgBox "Name = " & cn
End Sub


Hier wird der Name der neuen Tabelle angezeigt, auch wenn der VBA Editor nicht geöffnet ist.

Gruß Harald

P.S.: Hab Mal in der Hilfe nachgeguckt. Ist wenig informativ, aber interessant ist, dass der Codename und der angezeigte Blattname einer Tabelle durchaus unterschiedlich sein können. Hast Du deshalb den Codenamen verwendet? Oder willst Du gar den angezeigten >Namen verwenden? Dann ist der obige Code ohnehin besser geeignet.
Anzeige
AW: CodeName von neu angelegten Worksheets
10.10.2003 10:51:36
K.Rola
Hallo,

Option Explicit

Sub test()
Dim ws As Worksheet
Set ws = Worksheets.Add
MsgBox ws.CodeName
End Sub


Gruß K.Rola
AW: CodeName von neu angelegten Worksheets
10.10.2003 11:22:47
Heinrich Schewe
Das tuts bei mir leider auch nicht.
Soblad der Visual Basic Editor geschlossen ist und ich das Makro über Extras->Makros->Makro ausführen starte kommt ein leerer String...

Ich kann's mir nicht erklären
Heinrich
Vorschlag:CodeName was sagt z.B K.Rola?
10.10.2003 18:32:55
Jörg Gradert
Hallo Heinrich,
Ich kann den Fehler so wie Du ihn beschreibst nachvollziehen.
Ich blutiger VBA-Anfänger weiss aber nicht was ich hier tue, darum freue ich mich über Rückmeldungen der Fortgeschrittenen Anwender.
Ich habe mir überlegt, dass man dem Makro irgendwie mitteilen sollte, dass man den Codenamen der Tabelle aus dem VBA-Projekt meint.
Darum habe ich folgendes gemacht, was bei mir auch nach Schliessen des VBA-Editors einen Namen in der Messagebox anzeigt.
Ist das eine Möglichkeit?


Sub test()
Dim ws As Worksheet
Set ws = Worksheets.Add
With Application.VBE
MsgBox ws.CodeName
End With
End Sub


Gruss Jörg
Anzeige
AW: Vorschlag:CodeName was sagt z.B K.Rola?
11.10.2003 18:18:52
Heinrich Schewe
Das scheint des Rätsels Lösung zu sein.

Kann jemand dieses Verhalten erklären, damit wir Stümper nachvollziehen können, was in Excel bzw. VBA passiert?

Gruß,
Heinrich

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige