Excel 2013: VBA-Code läuft nicht auf 2007/2010
04.02.2015 08:34:43
Heiko
ich habe hier ein Excel-Projekt (mit Office 2013) gebaut.
Jetzt wollte ich das Projekt für die Kollegen freigeben, aber leider startet die Mappe bei den Kollegen, die noch 2007 bzw. 2010 verwenden mit Fehler "Methode oder Datenobjekt nicht gefunden).
Hier ist die Mappeneröffnung:
Sub Workbook_Open()
Dim objWorksheet As Worksheet
For Each objWorksheet In Worksheets
If objWorksheet.Visible = True And objWorksheet.Name "Admin - Start" Then
objWorksheet.Visible = False
End If
Next objWorksheet
Call Sheets("Zelle - Türelement").PresetSheet
Call Sheets("Zelle - Lukenelement").PresetSheet
Call Sheets("Zelle - Randleisten").PresetSheet
Call Sheets("Zelle - Bodenanschlussprofil").PresetSheet
Sheets("ADMIN - TEMP").cells.Clear
End Sub
Es soll dann bei einigen Sheets jeweils eine Subroutine abgearbeitet werden, in der die ActiveX-Steuerelemente formatiert und befüllt werden. Der Code für diese Routine steht beim jeweiligen Sheet (also kein Modul etc.).
VBA bleibt aber schon beim Aufruf der ersten Routine bei der ersten Combobox mit o.g. Fehler hängen.
Sub PresetSheet()
Dim FirstMatLine As Integer
Dim LastMatLine As Integer
Dim i As Integer
FirstMatLine = 2
LastMatLine = FirstMatLine
While Sheets("Admin - Material-DB").cells(LastMatLine, 1) > 0
LastMatLine = LastMatLine + 1
Wend
With CoBoZTE_MATAUSSEN
.ColumnCount = 2
.Clear
.Height = 14.25
.Width = 14.25
.AddItem
.List(.ListCount - 1, 0) = "auswählen"
.List(.ListCount - 1, 1) = ""
For i = 2 To LastMatLine
.AddItem
.List(.ListCount - 1, 0) = Sheets("ADMIN - MATERIAL-DB").cells(i, 1)
.List(.ListCount - 1, 1) = Sheets("ADMIN - MATERIAL-DB").cells(i, 2)
Next i
.ListIndex = 0
End With
With CoBoZTE_MATINNEN
.ColumnCount = 2
.Clear
.Height = 14.25
.Width = 14.25
.AddItem
.List(.ListCount - 1, 0) = "auswählen"
.List(.ListCount - 1, 1) = ""
For i = 2 To LastMatLine
.AddItem
.List(.ListCount - 1, 0) = Sheets("ADMIN - MATERIAL-DB").cells(i, 1)
.List(.ListCount - 1, 1) = Sheets("ADMIN - MATERIAL-DB").cells(i, 2)
Next i
.ListIndex = 0
End With
With CoBoZTE_PUSTOCK
.ColumnCount = 1
.Clear
.Height = 14.25
.Width = 14.25
.AddItem "auswählen"
.AddItem 80
.AddItem 100
.AddItem 120
.AddItem 150
.AddItem 200
.ListIndex = 0
End With
With CoBoZTE_PUWAND
.ColumnCount = 1
.Clear
.Height = 14.25
.Width = 14.25
.AddItem "auswählen"
.AddItem 80
.AddItem 100
.AddItem 120
.AddItem 150
.AddItem 200
.ListIndex = 0
End With
With CoBoZTE_XTYP
.ColumnCount = 1
.Clear
.Height = 14.25
.Width = 14.25
.AddItem "auswählen"
.AddItem 21
.AddItem 22
.AddItem 23
.AddItem 25
.AddItem 26
.AddItem 27
.ListIndex = 0
End With
End Sub
Bei Kollegen, die auch 2013 verwenden startet Excel dagegen einwandfrei.
Woran könnte das liegen und was kann ich dagegen unternehmen?
Danke und Gruß
Heiko