Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: FlorianF am Februar 16, 2017, 18:03:22 Nachmittag

Titel: Office 2016 Zugriff auf Range einer Tabellen-Objekts
Beitrag von: FlorianF am Februar 16, 2017, 18:03:22 Nachmittag
Hi Leute,

ich habe es irgendwo mal gelesen, kann mich aber nicht mehr daran erinnern wo und weiss auch nicht mehr was der Grund ist.

Wenn ich auf eine Range zugreifen und den Wert auslesen will dann muss ich es ja so machen:

Worksheet("Tabelle").Range("A1").Value
Wieso geht es nicht in dieser Form mit der ich das Tabellenblatt als Objekt verwende?

tblTabelle.Range("A1").Value
Grüss euch!
Titel: Antw:Office 2016 Zugriff auf Range einer Tabellen-Objekts
Beitrag von: gmg-cc am Februar 16, 2017, 18:16:59 Nachmittag
ich habe es irgendwo mal gelesen, kann mich aber nicht mehr daran erinnern wo und weiss auch nicht mehr was der Grund ist.
Wenn ich auf eine Range zugreifen und den Wert auslesen will dann muss ich es ja so machen, wenn ich einen Fehler produzieren will:

Worksheet("Tabelle").Range("A1").ValueWeil: Worksheets("Tabelle").Range("A1").Value

Zitat
Wieso geht es nicht in dieser Form mit der ich das Tabellenblatt als Objekt verwende?
tblTabelle.Range("A1").Value
Vielleicht weil es keine Objekt-Variable mit dem Namen tblTabelle gibt?

NB: Sorry für das Full-Quote, aber was soll ich sagen ...?
Titel: Antw:Office 2016 Zugriff auf Range einer Tabellen-Objekts
Beitrag von: FlorianF am Februar 16, 2017, 18:32:05 Nachmittag
Sorry habe mich wohl etwas falsch ausgedrückt.

Mir geht es darum, dass ich eine Tabelle mit dem Namen, den ich im VBA Editor vergeben habe ansprechen will. Die Tabelle heisst bei mir tblTabelle
Titel: Antw:Office 2016 Zugriff auf Range einer Tabellen-Objekts
Beitrag von: gmg-cc am Februar 16, 2017, 18:34:44 Nachmittag
Dann stell doch mal die komplette Prozedur vor, mit Deklaration, Initialisierung, Zuweisung, ...
Titel: Antw:Office 2016 Zugriff auf Range einer Tabellen-Objekts
Beitrag von: FlorianF am Februar 16, 2017, 18:50:11 Nachmittag
Hier der Code:

Private Sub UserForm_Initialize()
    txtFirma.Text = tblGrunddaten.Range("Firmenname").Value
End Sub

Hier der Fehler:
(http://up.picr.de/28340059pu.png)
Titel: Antw:Office 2016 Zugriff auf Range einer Tabellen-Objekts
Beitrag von: gmg-cc am Februar 16, 2017, 21:26:37 Nachmittag
Vielleicht so?
Private Sub UserForm_Initialize()
    'txtFirma.Text = tblGrunddaten.Range("Firmenname").Value
txtFirma.Text = Sheets("tblGrunddaten").Range("Firmenname").Value
End Sub

oder so?
Private Sub UserForm_Initialize()
    Dim wks as WorkSheet
set wks = ActiveWorkbook.Sheets("tblGrunddaten")
txtFirma.Text = wks.Range("Firmenname").Value
End Sub

... alles ungetestet
Titel: Antw:Office 2016 Zugriff auf Range einer Tabellen-Objekts
Beitrag von: FlorianF am Februar 17, 2017, 08:12:45 Vormittag
Ja das klappt schon wenn ich es so mache, das habe ich schon getestet. Mich interessiert nur warum man es nicht mit dem Zugriff über den Objektnamen laut VBA-Editor machen kann. Ich habe das wie gesagt irgendwo mal gelesen aber weiss nicht mehr wo. Ich will es nur verstehen  ;)
Titel: Antw:Office 2016 Zugriff auf Range einer Tabellen-Objekts
Beitrag von: maninweb am Februar 17, 2017, 10:25:41 Vormittag
Hallo,

falls Du den Codenamen (der in Klammern) meinst, klappt bei mir einwandfrei.
Firmenname ist eine benannte einzelne Zelle.

Code: Visual Basic
  1. Sub Test()
  2.  
  3.   MsgBox tblDaten.Range("Firmenname").Value
  4.  
  5. End Sub

Gruß
Titel: Antw:Office 2016 Zugriff auf Range einer Tabellen-Objekts
Beitrag von: FlorianF am Februar 17, 2017, 10:31:35 Vormittag
Ich habs grad gefunden, ganz klassicher Problem -> Schreibfehler!  >:(

Trotzdem vielen Dank!!!