Im Eigenschaftenwindow des VBA Editors hat aber jede Tabelle zwei
Namen. Einmal "Name" und einmal "(Name)". Ändert man in Excel den
Namen der Tabelle von "Tabelle1" auf "Meintabellenname", so betrifft
dies im VBA-Editor auch "Name" aber nicht "(Name)". Letzterer
verbleibt bei "Tabelle1".
Wie prima, eindeutige Tabellenbezeichnung trotz Umbenennens! Aber über
wleches Element spreche ich "(Name)" an (Auslesen, Editieren usw.)??
Danke,
Christian.
"Christian Drewing" schrieb:
Excel kennt für ein Blatt zwei Namen, den Blattnamen und den Codenamen.
Folgendes Beispiel dazu:
Sub BlattNamen()
Dim intI As Integer
For intI = 1 To Sheets.Count
Debug.Print "BlattIndex: " & Sheets(intI).Index & Chr(10) & _
"Blattname: " & Sheets(intI).Name & Chr(10) & _
"Codename: " & Sheets(intI).CodeName & Chr(10)
Next
End Sub
--
Mit freundlichen Grüßen
Melanie Breden
_____________________
[Microsoft MVP für Excel]
du kannst ihn ganz normal über "Name" ansprechen der
andere ist wurscht.
>-----Originalnachricht-----
>.
>
Christian Drewing schrieb:
> Ich möchte ein Sheet in Excel ansprechen. Das geht entweder über den
> Namen sheets("Tabellenname").select oder die Nummer sheets(1).select
Das wären, wie schon gesagt .Name und .Index
> Im Eigenschaftenwindow des VBA Editors hat aber jede Tabelle zwei
> Namen. Einmal "Name" und einmal "(Name)". Ändert man in Excel den
> Namen der Tabelle von "Tabelle1" auf "Meintabellenname", so betrifft
> dies im VBA-Editor auch "Name" aber nicht "(Name)". Letzterer
> verbleibt bei "Tabelle1".
>
> Wie prima, eindeutige Tabellenbezeichnung trotz Umbenennens! Aber über
> wleches Element spreche ich "(Name)" an (Auslesen, Editieren usw.)??
Das ist dann, wie auch schon gesagt, der Codename. Dieser kann nut über die
Eigenschaften im VBA-Editor geändert werden - per Code ist dies IMHO nicht
möglich.
Es gibt eine Analogie zur Zellenschriebweise [A1] anstelle von Range("A1"):
Wenn der Codename des Tabellenblattes 'Tabelle1' lautet und der Name (auf
dem Tabellenblattreiter) 'MeineTabelle1', dann sid die folgenden
Anweisungen äquivalent:
Worksheets("MeineTabelle1").Range("A1") = "Hallo Welt!"
Tabelle1.Range("A1") = "Hallo Welt!"
--
Mit freundlichen Grüssen
Thomas Ramel
- MVP für Microsoft-Excel -
[Win 2000Pro SP-4 / xl2000 SP-3]
hallo Thomas,
>Das ist dann, wie auch schon gesagt, der Codename. Dieser kann nut über die
>Eigenschaften im VBA-Editor geändert werden - per Code ist dies IMHO nicht
>möglich.
hab ich auch geglaubt, Frank hat mich eines Besseren belehrt ;-)
ThisWorkbook.VBProject.VBComponents("Tabelle1"). _
Properties("_CodeName").Value = "NeuerCodeName"
mfG
--
E-Mail von Martin Worm, Karlsruhe, Deutschland
benutze Excel2000(9.0.2812) Win ME
Antworten bitte nur in die Newsgroup
Martin Worm schrieb:
>
>>Das ist dann, wie auch schon gesagt, der Codename. Dieser kann nut über die
>>Eigenschaften im VBA-Editor geändert werden - per Code ist dies IMHO nicht
>>möglich.
>
> hab ich auch geglaubt, Frank hat mich eines Besseren belehrt ;-)
Dann nehem ich das Geasagt zurück und behaupte das Gegenteil ;-)
> ThisWorkbook.VBProject.VBComponents("Tabelle1"). _
> Properties("_CodeName").Value = "NeuerCodeName"
Das haben Du und Frank latürnich recht; über die VBComponents gehts.
hallo Thomas,
>Dann nehem ich das Geasagt zurück und behaupte das Gegenteil ;-)
>
>> ThisWorkbook.VBProject.VBComponents("Tabelle1"). _
>> Properties("_CodeName").Value = "NeuerCodeName"
>
>Das haben Du und Frank latürnich recht; über die VBComponents gehts.
ich hab zitiert, nur Frank hat recht ;-),