Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1964to1968
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

Tabelle über CodeName ansprechen

Tabelle über CodeName ansprechen
22.02.2024 12:57:52
Ralf
Hallo zusammen
Ich verstehe das Forum und die Archivierung nicht ganz, der alte Beitrag war "Hilfe: Variabler Pfad, aus einer Listbox" das ist aber gelöst.

Nun würde ich gerne die Tabelle nicht über die Architektur (3) sondern den CodeName ansprechen, in meinem Beispiel handelt es sich um:

wbQuelle.Worksheets(3).Range("A1:CB20").Copy --> WorkSheets(3). --> sollte den CodeName "shAuswertung" ansprechen auf der andern Mappe.


Ich hoffe ich habe es verständlich zusammengefasst und Ihr könnt mir nochmals helfen.

Besten Dank im Voraus.
Lg Ralf

der original Code lautet:
______________________________________________________________

Sub Import_Realisation()
Dim sPfad As String
Dim sDatei As String
Dim sDateiName As String
Dim sWSName As String
Dim wsZiel As Worksheet
Dim wbQuelle As Workbook


Application.ScreenUpdating = False
Application.DisplayAlerts = False

'Prüfen, ob PR1_A vorhanden ist
sWSName = Tabelle2.Cells(p_aktuelleZeile, 8).Value '7te Zelle in einer Zeile ist in Spalte H
Set wsZiel = Ws_holen(sWSName)
If wsZiel Is Nothing Then
MsgBox "Tabelle """ & sWSName & """ nicht vorhanden!", vbCritical
Exit Sub
End If

'Prüfen, ob ein Pfad hinhterlegt ist, in Tabelle Einstellungen
sPfad = Tabelle2.Cells(p_aktuelleZeile, 9) '9te Zelle in einer Zeile ist in Spalte I
If sPfad = "" Then
MsgBox "PR1 Realisation - kein Pfad vorhanden!", vbCritical
Exit Sub
End If

'Prüfen, ob eine Datei hinhterlegt ist, in Tabelle Einstellungen
sDatei = Tabelle2.Cells(p_aktuelleZeile, 10) '10te Zelle in einer Zeile ist in Spalte J
If sDatei = "" Then
MsgBox "PR1 Realisation - kein Datei angegeben!", vbCritical
End If

sDateiName = sPfad & "\" & sDatei

'Prüfen, ob Datei existiert
If Dir(sDateiName) = "" Then
MsgBox "Datei" & vbCr & """" & sDatei & """" & vbCr & "scheint nicht vorhanden zu sein!", vbCritical
Exit Sub
End If


'wenn alles passt, dann machen

Set wbQuelle = Workbooks.Open(sDateiName)
wbQuelle.Worksheets(3).Range("A1:CB20").Copy
wsZiel.Range("A1").PasteSpecial (xlPasteValues)
wbQuelle.Close SaveChanges:=False

Worksheets("cruising_speed").Activate

Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle über CodeName ansprechen
22.02.2024 13:17:32
daniel
Hi

das direkte Ansprechen eines Tabellenblatts über den Codenamen ist nur innerhalb der eigenen Mappe möglich (also nur für die Mappe, die das Makro enthält, also im Prinzip ThisWorkbook). Bei fremden Mappen kann man den Codenamen nur abfragen, aber nicht für die Referenzierung verwenden.

willst du den Codename einer anderen Mappe verwenden, so geht das nur indirekt nach diesem Schema:

dim xxx as worksheet

for each xxx in wbQuelle.Worksheets
if xxx.CodeName = "shAuswertung" then Exit for
next
if xxx is nothing then
Msgbox "Tabellenblatt shAuswertung konnte nicht im wbQuelle gefunden werden"
stop
end if
... hier dann der weitere Code, das gesuchte Blatt ist in der Variabeln xxx


Gruß Daniel
Anzeige
AW: Tabelle über CodeName ansprechen
22.02.2024 17:31:45
Yal
Hallo Ralf,

CodeName wird selten verwendet, eigentlich nur in der Form
Tabelle1.Range(...
Was unpraktisch ist, weil jede Objekt festgeschireben werden muss.

Um den CodeName eines Blattes anzupassen, müssen in VB-Editor die Eigenschaft sichtbar gemacht werden (Menü "Ansicht", "Eigenschaftsfenster") und dort der Eintrag in "(Name)" -nicht mit "Name" verwechseln!- ändern.

Trivialer Code zum anschaulich machen:
Sub Test()

Dim Ws, i
For Each Ws In Worksheets
Debug.Print Ws.Name, Ws.CodeName, Worksheets(ws.Name).Index
Next
For i = 1 To Worksheets.Count
Debug.Print i, Worksheets(i).Name, Worksheets(i).CodeName
Next
End Sub


VG
Yal
Anzeige
AW: Tabelle über CodeName ansprechen
22.02.2024 16:40:30
Ralf
Danke dir, dann ist mir vieles klar

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige