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

Excel über VBa ansteuern

Excel über VBa ansteuern
06.03.2013 15:11:45
Ken
Hallo,
ich steuer ein Excelblatt über VBA Access. In einem Modul steuere ich den ersten Tab (Test) an - siehe code:
Dim xlApp As Excel.Application
Dim xlwrkbk As Excel.Workbook
Dim xlsheet As Excel.Worksheet
Dim exelsheet As Object
Dim strfilename As String
strfilename = "C:\test.xlsx"
Set xlwrkbk = xlApp.Workbooks.Open(strfilename)
Set xlsheet = xlApp.Application.ActiveWorkbook.Sheets("Test")
Sheets("Test").Select
xlApp.Visible = True
xlApp.DisplayAlerts = False
xlsheet.Delete
Sheets.Add.Name = "Test"
Range("7:7").Select
xlApp.ActiveWindow.FreezePanes = True
Funktioniert auch alles prima, wenn ich dann aber in einem zweiten Modul das andere Tab (Test2) von gleichen Excelblatt ansteuern will - siehe Code:
Dim xlApp As Excel.Application
Dim xlwrkbk As Excel.WorkbookDim
xlsheet As Excel.Worksheet
Sheets("Test2").Select
xlApp.Visible = True
xlApp.DisplayAlerts = False
xlsheet.Delete
Sheets.Add.Name = "Test2"
Range("7:7").SelectxlApp.ActiveWindow.FreezePanes = True
bekomme ich die Fehlermeldung:
Laufzeitfehler 91 in den Zeilen wo xlApp. oder xlsheet vorkommt.
Objektvariable oder With-Blockvariable nicht festgelegt
Kann mir jemand bitte helfen und sagen was ich dort falsch mache?
Vielen Dank!

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

Betreff
Datum
Anwender
Anzeige
VBA : Zuweisung Objektvariablen
06.03.2013 16:07:03
NoNet
Hallo Ken,
im 2.Code fehlt die Zuweisung der Mappe bzw. des Blattes an die Objektvariablen xlwrkbk und xlsheet - so funktioniert's :
Sub ZugriffAufExcel_NeuesBlattErstellen()
Dim xlApp As Excel.Application
Dim xlwrkbk As Excel.Workbook
Dim xlsheet As Excel.Worksheet
Set xlApp = GetObject(, "Excel.Application")
Set xlwrkbk = xlApp.ActiveWorkbook
Set xlsheet = xlwrkbk.Sheets("Test2")
xlApp.DisplayAlerts = False
xlApp.Visible = True
xlsheet.Delete
Set xlsheet = xlwrkbk.Sheets.Add
xlsheet.Name = "Test2"
xlsheet.Range("7:7").Select
xlApp.ActiveWindow.FreezePanes = True
xlApp.DisplayAlerts = False
End Sub
Noch ein Hinweis : Die Bezeichnung "Tab" und "Blatt" meinen im Allgemeinen beide das gleiche : ein Tabellenblatt in Excel. Was Du mit "Blatt" bezeichnest ist wohl eine Mappe/Datei/Workbook !
Gruß, NoNet

Anzeige
Nachtrag : Verweis auf Excel Object Library
06.03.2013 16:11:39
NoNet
Hallo Ken und @alle anderen Interessierte,
damit die Variablendeklaration per Dim Variable as Excel.Application funktioniert, muss zuvor natürlich (z.B. per Menüpunkt "Extras - Verweise" - oder per VBA-Code) ein Verweis auf die Microsoft Excel 14.0 Object Library gesetzt sein - ansonsten erkennen andere VBA-Umgebungen diese Klassen (also z.B. das Excel. )nicht !
Gruß, NoNet

AW: Nachtrag : Verweis auf Excel Object Library
06.03.2013 19:03:39
ken
Hallo NoNet,
vielen Dank für die schnelle Antwort und vor allem mit dieser perfekten Lösung. Es funktioniert! Ja ich meinte mit Blatt die Mappe und werde in Zukunft es auch so nennen :-)
Der Hinweiss über die Verweise war auch gut, hatte ich aber schon eingerichtet und ich meine wenn sie nicht eingerichtet ist kommt eine andere Fehlermeldung.
Also noch einmal vielen Dank, hatte vorher schon 3 Tage an diesem Problem "rumgemacht".
LG
Ken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige