Habe leider nosch zwei kleine Probleme mit meinen VBA Geschichten.
Die UserForm bleibt immer am Bildschirm auch wenn ich eine andere Excel Datei öffne. Ich möchte gerne dass die Userform an das Exce Workbook gebunden ist mit in dem ich sie öffne und wenn ich diese Datei minimiere das damit auch die Userform verschwinden. Oder kann man die UserForm minimieren? Momentan habe ich nur das Kreuz für Schliessen.
Mein zweites Problem ist dass ich mir in einer ListBox den Inhalt (Excel Dateien) eines Ordners anzeigen lasse und sie zur weiteren Verwendung öffnen kann. Nun kann es vorkommen dass in den Ordner momentan keine Dateien enthalten sind. VBA produziert dann einen Fehler dass es die Listbox Eigenschaften nicht setzen kann. Ich möchte gerne dass die ListBox dann einfach ohne Inhalt dargestellt wird. Ist das möglich? Der Code ist unten angehängt.
Bitte um Hilfe
Gerhard
Private Sub comEinlesen_Click()
'Initiation der Steuerung
Dim strNameSteuerung As String
strNameSteuerung = Workbooks("SteuerungKunst.xls").Sheets("INI").[A1] '!§§§ ändern bei anderer Steuerung §§§!
Dim strLaufwerk As String
Dim strPfadGeliefertS As String
Dim strPfadGeliefertWRL As String
Dim strPfadMonBes As String
Dim strPfadArchivM As String
Dim strPfadArchivG As String
strLaufwerk = Workbooks(strNameSteuerung).Sheets("INI").[B3]
strPfadGeliefertS = Workbooks(strNameSteuerung).Sheets("INI").[B4]
strPfadGeliefertWRL = Workbooks(strNameSteuerung).Sheets("INI").[B6]
strPfadMonBes = Workbooks(strNameSteuerung).Sheets("INI").[B11]
strPfadArchivM = Workbooks(strNameSteuerung).Sheets("INI").[B10]
strPfadArchivG = Workbooks(strNameSteuerung).Sheets("INI").[B16]
Me.ListBox1.List = FileArray(strLaufwerk & strPfadGeliefertS, "*.*")
Me.ListBox2.List = FileArray(strLaufwerk & strPfadGeliefertWRL, "*.*")
Me.ListBox3.List = SubDirectories(strLaufwerk & strPfadMonBes & strPfadArchivM & strPfadArchivG)
'Eilesen über Textbox
'Me.ListBox1.List = FileArray(Me.TextBox1.Text, Me.TextBox2.Text)
'Me.ListBox2.List = FileArray(Me.TextBox3.Text, Me.TextBox4.Text)
'Me.ListBox3.List = SubDirectories(Me.TextBox5.Text, Me.TextBox6.Text)
End Sub
Private Sub UserForm_Initialize()
'Initialisierung der Steuerung
Dim strNameSteuerung As String
strNameSteuerung = Workbooks("SteuerungKunst.xls").Sheets("INI").[A1] '!§§§ ändern bei anderer Steuerung §§§!
Dim strLaufwerk As String
Dim strPfadGeliefertS As String
Dim strPfadGeliefertWRL As String
Dim strPfadMonBes As String
Dim strPfadArchivM As String
Dim strPfadArchivG As String
strLaufwerk = Workbooks(strNameSteuerung).Sheets("INI").[B3]
strPfadGeliefertS = Workbooks(strNameSteuerung).Sheets("INI").[B4]
strPfadGeliefertWRL = Workbooks(strNameSteuerung).Sheets("INI").[B6]
strPfadMonBes = Workbooks(strNameSteuerung).Sheets("INI").[B11]
strPfadArchivM = Workbooks(strNameSteuerung).Sheets("INI").[B10]
strPfadArchivG = Workbooks(strNameSteuerung).Sheets("INI").[B16]
'Pfad anpassen !!!
Me.ListBox1.List = FileArray(strLaufwerk & strPfadGeliefertS, "*.*")
Me.ListBox2.List = FileArray(strLaufwerk & strPfadGeliefertWRL, "*.*")
Me.ListBox3.List = SubDirectories(strLaufwerk & strPfadMonBes & strPfadArchivM & strPfadArchivG)
End Sub
Function FileArray(strPath As String, strPattern As String)
Dim arrDateien()
Dim intCounter As Integer
Dim strDatei As String
Dim Übergabedatei As String
If Right(strPath, 1) "\" Then strPath = strPath & "\"
strDatei = Dir(strPath & strPattern)
Do While strDatei ""
intCounter = intCounter + 1
ReDim Preserve arrDateien(1 To intCounter)
arrDateien(intCounter) = strDatei
strDatei = Dir()
Loop
FileArray = arrDateien
End Function