Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

VBA variables Tabellenblatt ansprechen | Herbers Excel-Forum


Betrifft: VBA variables Tabellenblatt ansprechen von: Stefan
Geschrieben am: 16.11.2009 16:06:40

Hallo zusammen,
ich möchte über Eingabe in Zelle A1 bestimmen aus welchem externen Tabellenblatt Daten eingelesen werden sollen. Leider schaffe ich es nicht die Zelle als Variable zu gestalten:

Public Sub data()

Dim objWB As Workbook, objWS As Worksheet, objWSImport As Worksheet, objOption As Worksheet
Dim strFile As String
Dim lngLast As Long, lngCol As Long, lngLastCol As Long
Dim varRes As Variant

On Error GoTo ErrExit
GMS

MsgBox "Bitte zu importierende Datei auswählen!"

strFile = Application.GetOpenFilename("Excel Dateien (*.xls; *.xlsx; *.xlsm)," & _
"*.xls; *.xlsx; *.xlsm")

If strFile = "Falsch" Then Exit Sub

Set objOption = ThisWorkbook.Sheets("Optionen")
Set objWSImport = ThisWorkbook.Sheets("Daten")

Set objWB = Workbooks.Open(strFile)

If Not SheetExist(objOptionen(1, 1), objWB.Name) Then
MsgBox "Die ausgewählte Datei enthält kein Sheet mit dem Namen ""Aufbereitet""! Der Import wurde abgebrochen."
GoTo ErrExit
Else
Set objWS = objWB.Sheets(objOptionen(1, 1))
End If

Irgendwie ist das "objOptionen(1, 1)" nicht korrekt, ich weiss leider nicht wie ich es umschreiben muss...

Vielen Dank für die Hilfe!

  

Betrifft: objOptionen.Cells(1, 1) owT von: Rudi Maintaire
Geschrieben am: 16.11.2009 16:14:31




  

Betrifft: AW: VBA variables Tabellenblatt ansprechen von: Tino
Geschrieben am: 16.11.2009 16:18:17

Hallo,
vielleicht objOption als Range Deklarieren und im Code als Zelle verwenden.

Dim objOption As Worksheet
'...
'...
Set objOption = ThisWorkbook.Sheets("Optionen").Cells(1,1)
'...
'...
If Not SheetExist(objOptionen.Value, objWB.Name) Then

'usw...
Gruß Tino


  

Betrifft: sollte Dim objOption As Range sein. oT. von: Tino
Geschrieben am: 16.11.2009 16:19:07




  

Betrifft: AW: sollte Dim objOption As Range sein. oT. von: Stefan
Geschrieben am: 16.11.2009 16:28:31

das mit dem Range deklarieren müsste klappen! Konnte es jedoch nicht ausprobieren weil ich plötzlich eine Fehlermeldung erhalte: "Fehler beim Kompilieren! Variablen nicht definiert" in der ersten Zeile

Public Sub data() ???


  

Betrifft: sorry hat sich erledigt! von: Stefan
Geschrieben am: 16.11.2009 16:31:18

Danke!


  

Betrifft: und Rudi sein Vorschlag? oT. von: Tino
Geschrieben am: 16.11.2009 16:48:49




  

Betrifft: AW: und Rudi sein Vorschlag? oT. von: Stefan
Geschrieben am: 16.11.2009 16:52:55

den habe ich gar nicht weiter ausprobiert weil mir das mit dem .Value besser gefällt da ich später nochmals auf den Wert zurückgreife!


Beiträge aus den Excel-Beispielen zum Thema "VBA variables Tabellenblatt ansprechen"