Registriert seit: 24.02.2017
Version(en): 365; (2013)
Hallo zusammen,
kurze Frage. Wir haben hier einen Excel-Bericht mit VBA Code.
Der Bericht lief auf einem alten Gerät mit Windows 7 und Excel 2010 problemlos.
Nun wurde der Rechner gegen ein Windows 10 Modell mit Office 365 getauscht. An dem Bericht wurde nichts geändert und die Laufwerke heißen alle noch gleich.
Er wirft nun aber beim Ausführen des VBA Codes einen Laufzeitfehler bei Select Tabellenblatt 2.
Hat jemand eine Ahnung, woran das liegen könnte?
Die Datei habe ich selbst nicht, und kann sie euch somit nicht zur Verfügung stellen.
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo,
um das beantworten zu können, braucht man wenigstens die Programmzeile, die angemeckert wird.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 11.04.2014
Version(en): '97 bis 2016; 365
Hallo Klaus-Dieter,
Zitat:um das beantworten zu können, braucht man wenigstens die Programmzeile, die angemeckert wird.
... das erspart mir 'ne Menge an Schreibarbeit :100:
Registriert seit: 12.03.2016
Version(en): Excel 2003
Hallo
mein Tipp uns den ganzen Code zu posten, denn auf .Select kann man zu 95% verzichten! Dazu müssten wir ihn aber sehen.
Kurios ist es aber schon das er vorher einwandfrei lief. Oder habt ihr die "Tabelle2" zwischendurch versehentlich umbenannt??
mfg Gast 123
Registriert seit: 11.04.2014
Version(en): Office 2007
Auch Hallo,
um den Vorschlag von meinen Vorredner Gast 123 zu unterstützen, zeige ich dir mit der dieser
Erklärung, wie du das selektieren vermeiden kannst
Gruß Stefan
Win 10 / Office 2016
Registriert seit: 24.02.2017
Version(en): 365; (2013)
04.09.2019, 11:38
(Dieser Beitrag wurde zuletzt bearbeitet: 04.09.2019, 11:39 von StrammerMax.)
Code:
Sub Excel(myWorkSheet1, NewWorkbookFlag)
Dim saveas As String
Dim saveasname As String
Dim sheetcounter As Integer
Call Speichernamenholen
ChDir Worksheets("Control").Cells(8, 6).Value
saveas = Worksheets("Control").Cells(9, 6).Value
saveasname = saveas & " " & SaveGroupName & ZweitFilterValue
outputNameRow = 14
outputNameCol = 6
'Abfrage ob einfügen in bestehendes, ob neues anlegen und dann einfügen in das neue
'oder ob abspeichern
If WorkbookOpen = False Then
'Outputpath = Worksheets("Control").Cells(FilterCellRow + 3, FilterCellCol).Value
temp = SaveNameSheet & "_" & myFilterValueName
Set newBook = Workbooks.Add
sheetcounter = 1
' Application.DisplayAlerts = False
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
'Betriebssystemabfrage und entsprechende Speicherformatbestimmung
If Betriebssystem = "VISTA" Then
If Berichtsformat = "XP" Then
With newBook
.Title = temp
.saveas Filename:=saveasname, FileFormat:=xlOpenXMLWorkbook
'& "\" & temp
End With
Else
With newBook
.Title = temp
.saveas Filename:=saveasname, FileFormat:=xlOpenXMLWorkbook
'& "\" & temp
ActiveWorkbook.Close
Workbooks.Open saveasname & ".xlsx"
End With
End If
Else
If Betriebssystem = "XP" Then
With newBook
.Title = temp
.saveas Filename:=saveasname, FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close
Workbooks.Open saveasname & ".xlsx"
'& "\" & temp
End With
Else
If (Betriebssystem <> "Vista" And Betriebssystem <> "XP") Then
MsgBox ("Kein Betriebssystem eingegeben! Bitte eingeben (Zelle F12) und Makro neu starten!")
End
End If
End If
End If
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
'Betriebssystembestimmung abgeschlossen
temp = ActiveWorkbook.Name
ActiveWorkbook.Colors = Workbooks(myWorkbook).Colors
Application.DisplayAlerts = False
Sheets("Tabelle2").Select
ActiveWindow.SelectedSheets.Delete
Sheets("Tabelle3").Select
ActiveWindow.SelectedSheets.Delete
tempsheet = ActiveSheet.Name
Application.DisplayAlerts = True
WorkbookOpen = True
End If
An der Stelle Sheets("Tabelle2").Select steigt er aus mit Laufzeitfehler.
Registriert seit: 02.05.2018
Version(en): Excel 365 & 2016
Zitat:steigt er aus mit Laufzeitfehler
Und der lautet wie genau?
Schöne Grüße
Berni
Registriert seit: 24.02.2017
Version(en): 365; (2013)
04.09.2019, 11:46
(Dieser Beitrag wurde zuletzt bearbeitet: 04.09.2019, 11:49 von StrammerMax.)
Die Datei wurde definitiv nicht geändert.
Der Fehler tritt bei mehreren Kollegen auf, die ihren Rechner gewechselt haben.
Wenn man die gleiche Datei wieder auf einem alten Rechner laufen lässt funktioniert alles wieder problemlos.
(04.09.2019, 11:45)MisterBurns schrieb: Und der lautet wie genau?
Laufzeitfehler 9
Index ausserhalt des gültigen Bereichs.
00202
Nicht registrierter Gast
Hallo, :19:
löschst du die beiden Tabellenblätter, weil du beim erstellen der neuen Datei "
Workbooks.Add" drei Tabellenblätter hast?
Dann mach es doch so: :21:
Code:
Workbooks.Add xlWBATWorksheet
Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:1 Nutzer sagt Danke an Gast für diesen Beitrag 28
• StrammerMax
Registriert seit: 02.05.2018
Version(en): Excel 365 & 2016
Und bist du sicher, dass das Tabellenblatt "Tabelle2" existiert? Bist du den Code mit F8 im Einzelschritt durchgegangen?
Schöne Grüße
Berni