Habein in der Firma endlich auf Office 2010 umgestellt.
Nun bekomme ich bei einer Excel Mappe den Fehler bei unteren Code.
Wüsste zufällig jeman wieso?
Gruß
Heinz
Private Sub CommandButton1_Click()
UserForm1.Show vbModeless
End Sub
Private Sub CommandButton1_Click()
UserForm1.Show vbModeless
End Sub
ntferne "vbModeless". Eine Userform ist in Office 2010 standardmäßig Modal, da braucht es "vbModeless" nicht.
Private Sub UserForm_Initialize()
Dim t As Date
' Pfad, wo sich die SAP_Dateien befinden
strPfad = GetPath
With UF
.MaxButton = False: .MinButton = True
.BorderStyle = xlÄnderbar
.Create UserForm1
End With
'Schaltflächen-Effekt
Set varButton(1).butGroup = cmdBerechnen
Set varButton(2).butGroup = cmdEintragen
Set varButton(3).butGroup = cmdDrucken
Set varButton(4).butGroup = cmdBearbeiten
Set varButton(5).butGroup = cmdEnde
' SAP-Nummern einlesen
Call DATEILISTE_SAP(strPfad)
' Combobox 'cmbKw' mit Kalenderwoche 1-53 füllen
For n = 1 To 53: cmbKw.AddItem n: Next n
' jetzige Kalenderwoche ermitteln
KW = KALENDERWOCHE_DIN(Date)
cmbKw.ListIndex = KW
' Datum des Montages lt. Kalenderwoche ermitteln
Jahr = Year(Date)
t = MONTAG_kW(KW, Jahr)
' Combobox 'cmbLinie' füllen
With cmbLinie
.AddItem "311": .AddItem "312": .AddItem "321": .AddItem "322"
.AddItem "331": .AddItem "332": .AddItem "333": .ListIndex = 0
End With
' Produktionstage
For n = 1 To 170: cmbProdTage.AddItem n: Next n
cmbProdTage.ListIndex = 4
cmbSAP.SetFocus
End Sub
Sub DATEILISTE_SAP(Verzeichnis As String)
Dim TMP As String
Dim fs As Object
' Überprüfen, ob angegebener Ordner existiert
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.FolderExists(Verzeichnis) = False Then 'Verzeichnis existiert nicht
' Nach Verzeichnis suchen
Verzeichnis = GetPath
End If
' xls-Dateien im Verzeichnis
With Application.FileSearch
.LookIn = Verzeichnis
.Filename = "*.xlsm"
.Execute
If .FoundFiles.Count = 0 Then
MsgBox "Keine SAP-Dateien im Verzeichnis"
Exit Sub
End If
ReDim SAPDateien(.FoundFiles.Count - 1)
For n = 1 To .FoundFiles.Count
TMP = Dir(.FoundFiles(n))
SAPDateien(n - 1) = Left(TMP, Len(TMP) - 4)
Next n
' In die Combobox 'cmbSAP'der UF schreiben
UserForm1.cmbSAP.List = SAPDateien
UserForm1.cmbSAP.ListIndex = 0
End With
End Sub
Da musst du eine alternative zu FileSearch verwenden.. Eine von vielen Alternativen findest du hierPrivate Sub UserForm_Initialize()
Dim t As Date
' Pfad, wo sich die SAP_Dateien befinden
'strPfad = GetPath
strPfad = "H:\Vetropack\Womat\PAs - nach SAP-Nummer\"
Sub DATEILISTE_SAP(ByVal sFol As String, sFileExt As String)
Dim fileName As String
Dim nfiles As Long
Dim fso As Object, fsoFld As Object
Set fso = CreateObject("Scripting.FileSystemObject")
On Error GoTo Catch
Set fsoFld = fso.GetFolder(sFol)
fileName = Dir(fso.BuildPath(fsoFld.Path, sFileExt))
While Len(fileName) 0
fileName = fileName + FileLen(fso.BuildPath(fsoFld.Path, fileName))
nfiles = nfiles + 1
UserForm1.cmbSAP.AddItem fso.BuildPath(fsoFld.Path, fileName) ' Load ListBox
fileName = Dir() ' Get next file
DoEvents
Wend
UserForm1.cmbSAP.ListIndex = 0
Exit Sub
Catch: fileName = ""
Resume Next
End Sub
Gruss RainerDie erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen