Anzeige
Archiv - Navigation
1936to1940
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

(Namen) von Arbeitsbl. in anderer Excel

(Namen) von Arbeitsbl. in anderer Excel
14.07.2023 07:49:31
Markakus
Hallo zusammen,
ich habe folgende Frage bei der mir ChatGTP nicht weiterhelfen konnte und in Google nicht fündig wurde.

Wie kann auf ein Arbeitsblatt einer anderen Exceldatei zugegriffen werden, wenn der Name des Arbeitsblattes unter Eigenschaften des Entwicklertools geändert wurde? Also unter Eigenschaften im Entwicklertool steht folgendes:
(Name) = wksEintr
Name = Einträge

Ich möchte auf den nicht sichtbaren Namen des Arbeitsblattes zugreifen. Dieser wird im Entwicklungstool als (Name) bezeichnet. Ich möchte den sichtbaren Namen nicht erst umwandeln müssen, da der sichtbare Name vom Benutzer geändert werden kann und es zu Fehlern kommen kann. Wie kann ich also direkt auf den nicht sichtbaren (Namen) zugreifen?

Es soll also auf wksEintr zugegriffen werden.
zB.


Set wbkInst = Workbooks.Open("C:\test.xlsx")
    
    wbkInst.wksEintr.Activate
    wbkInst.wksEintr.Range("A1").Select



NICHT auf den Namen der der Bediener sehen und ändern kann:


Set wbkInst = Workbooks.Open("C:\test.xlsx")
    wbkInst.Worksheets("Einträge").Activate
    wbkInst.Worksheets("Einträge").Range("A1").Select


Grüße

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

Betreff
Datum
Anwender
Anzeige
AW: (Namen) von Arbeitsbl. in anderer Excel
14.07.2023 09:39:47
Ulf

Public Sub tt()
    Dim wb As Workbook
    Dim ws As Worksheet
    Set wb = ThisWorkbook
    For Each ws In wb.Worksheets
        If ws.Name > ws.CodeName Then MsgBox (ws.Name & " is not " & ws.CodeName)
    Next
End Sub
hth
Ulf

AW: (Namen) von Arbeitsbl. in anderer Excel
14.07.2023 09:47:55
Yal
Hallo Mark,

es gibt den im Reiter sichtbare Name des Worksheets:
Workbooks.Open("C:\test.xlsx").Worksheets("Einträge").Activate
und es gibt der Name des Code-Objekts des Worksheets (meistens 1 zu 1, aber man kann ja letzteres in VB-Editor ändern):
[Einträge].Activate

Diese Eigenschaften sind jeweils mit .Name und .CodeName zu haben
Debug.Print Workbooks.Open("C:\test.xlsx").Worksheets("Einträge").Name
Debug.Print Workbooks.Open("C:\test.xlsx").Worksheets("Einträge").CodeName

Wegen der Unsicherheit des Vorhandenseins des Namen sollte man unter Verwendung von "On Error" abfragen. Dann am besten in einer separaten Prozedure:
Public Function CodeName_lesen(wb As Workbook, ByVal WSName As String) As String
    On Error Resume Next
    CodeName_lesen = wb.Worksheets(WSName).CodeName
End Function
VG
Yal

Anzeige
AW: (Namen) von Arbeitsbl. in anderer Excel
14.07.2023 10:25:57
Markus
Vielen Dank Yal und Ulf für eure Antwort.
ich benutze die CodeNamen des Arbeitsblatts gerne direkt in der Arbeitsmappe. Also ohne auf Name des Arbeitsblatts zuzugreifen.
Nun will ich aber auf einen CodeNamen einer anderen Arbeitsmappe (Andere Excel-Datei) zugreifen.

Kann ich den CodeNamen einer anderen Arbeitsmappe nicht direkt nehmen ohne den Umweg über den Namen des Arbeitsblatts nehmen zu müssen?
Ansonsten Bedanke ich mich für euren Code.

Grüße
Markus

AW: (Namen) von Arbeitsbl. in anderer Excel
14.07.2023 13:21:50
Daniel
Hi
meines wissen nach funktionert der CodeName direkt als eigenständiges Objekt nur in der eigenen Datei.
in anderen Dateien kann man den Codename nur auslesen, aber nicht verwenden, um das Tabellenblatt direkt anzusprechen.

Wenn du die Blätter über den von dir vergebenen Codename referenzieren willst, kann vielleicht so:
dim wsh as Worksheet
for each wsh in workbooks(...).Worksheets
    if wsh.CodeName = "DeinCodename" then exit for
next
mit dieser Schleife weist du das Blatt mit dem gesuchten Codename einer Variablen zu, die du dann in Folge verwenden kannst.
Gruß Daniel

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige