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

kann man auf den Tabellennamen drauf zugreifen?

kann man auf den Tabellennamen drauf zugreifen?
15.10.2006 15:39:59
Torsten
moin,
habe gerade ein problem mit tabellen auf die ich zugreifen will,
ja ich weiß man kann per index drauf zugreifen :
worksheets(1) usw...
ja ich weiß, man kann per namen drauf zugreifen :
worksheets("Tabelle bla blub")
aber mir geht es darum, dass dieser name "tabelle bla blub" der name vom tabellenreiter ist, aber! ich will auch auf ein bestimmtes tabellenblatt zu greifen, auch wenn der benutzer den reiternamen verändert hat- in VBA habe ich ja 2 namen für ein Tabellenblatt, einmal einen ohne klammern und einmal einen mit klammern, der mit klammern ist der name der auf den reitern erscheint.
nun würde ich gerne auf den anderen namen drauf zugreifen, geht das?
wenn ja wie?

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: kann man auf den Tabellennamen drauf zugreifen?
15.10.2006 15:49:48
K.Rola
Hallo,
verwende den Codenamen, das ist der, der im Projektexplorer links steht.
Die Syntax lautet dann nicht:
Sheets("Tabelle1").Activate
sondern einfach:
Tabelle1.Activate
Gruß K.Rola
AW: kann man auf den Tabellennamen drauf zugreifen?
15.10.2006 16:00:42
torsten
habe ich probiert, ansich sollte er somit auf das erste Tabellenblatt in Zelle 1,1 ein ja einfügen...
grundlage :
TabelleA(Tabelle bla blub)
code :

Sub Test()
Dim AL As Variant
AL = Array("A", "B", "C", "D", "E", "F", "G", "H")
For i = 0 To 7
u$ = "Tabelle"+ AL(i)
u.Cells(1, 1).Value = "ja"
Next i
End Sub

und da gibt er mir als fehlermeldung :"ungültiger bezeichner", geht nicht :(
Anzeige
AW: kann man auf den Tabellennamen drauf zugreifen?
15.10.2006 16:40:09
K.Rola
Hallo,
wenn du das Blatt über den Codenamen ansprichst, wird es als VBComponent behandelt:
Prinzip:

Sub teste()
Dim v As Byte
For v = 1 To 3
MsgBox ThisWorkbook.VBProject.VBComponents("Tabelle" & v).Name
Next
End Sub

Gruß K.Rola
AW: kann man auf den Tabellennamen drauf zugreifen?
15.10.2006 17:13:57
torsten
sorry dass ich anscheinend irgendwas nicht verstehe...
wenn ich deinen code einfüge bekomme ich bei ausführen die Fehlermeldung "Code 400"
p.s. ich habe dein "teste" in "diese Arbeitsmappe2 als code mal zum testen eingefügt, ohne weitere veränderungen
AW: kann man auf den Tabellennamen drauf zugreifen?
15.10.2006 17:19:23
torsten
hah, durch deine und der hilfe der anderen habe ich das gefunden was ihc suchte :
_____________
.CodeName
_____________
nur den begriff suchte ich :)
danke nochmal
Anzeige
AW: kann man auf den Tabellennamen drauf zugreifen?
15.10.2006 16:38:02
Gerd
Hallo Torsten,
mal "u" und mal "u$" das geht nicht.
Außerdem: wo hast du dies als Worksheet deklariert ? ( Dim u as worksheet)
Gruß
Gerd
AW: kann man auf den Tabellennamen drauf zugreifen
15.10.2006 17:05:50
Erich
Hallo Torsten,
etwas zum Spielen:
Option Explicit
Sub tst2()
Dim ii As Integer
[A1:C1] = Split("perNummer perName perCodename")
For ii = 1 To Sheets.Count
Cells(ii + 1, 1) = "Sheets(" & ii & ").Cells(...)"
Cells(ii + 1, 2) = "Sheets(""" & Sheets(ii).Name & """).Cells(...)"
Cells(ii + 1, 3) = Sheets(ii).CodeName & ".Cells(...)"
Next ii
End Sub
Sub tst()
Const CodNam = "Tabelle3"  ' musst du vielleicht anpassen...
MsgBox "Das Blatt mit dem Codenamen " & CodNam & Chr(10) & _
"hat den Namen " & Sheets(Codename2Name(CodNam)).Name & Chr(10) & _
"und steht aktuell an der " & Sheets(Codename2Index(CodNam)).Index & ". Stelle"
' Die folgenden drei Anweisungen belegen Zellen im selben Blatt:
Sheets(Codename2Index(CodNam)).Cells(1, 5) = 78901
Sheets(Codename2Name(CodNam)).Cells(1, 6) = "abcde"
Tabelle3.Cells(1, 7) = "12345"
' Die folgenden drei Anweisungen tun alle das Gleiche:
Sheets(Codename2Name(CodNam)).Activate
Sheets(Codename2Index(CodNam)).Activate
Tabelle3.Activate
End Sub
Function Codename2Name(CName As String) As String
Dim ii As Integer
For ii = 1 To Worksheets.Count
If Sheets(ii).CodeName = CName Then
Codename2Name = Sheets(ii).Name
Exit Function
End If
Next ii
End Function
Function Codename2Index(CName As String) As Integer
Dim ii As Integer
ii = -1
For ii = 1 To Worksheets.Count
If Sheets(ii).CodeName = CName Then
Codename2Index = ii
Exit Function
End If
Next ii
End Function
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: kann man auf den Tabellennamen drauf zugreifen
15.10.2006 17:18:19
torsten
thx für deinen denkanstoß...
habe in dem code gefunden was ich suchte
.CodeName
only den begriff suchte ich :)

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige