Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

Listbox

Betrifft: Listbox von: Holger Meinert
Geschrieben am: 06.09.2004 11:55:02

Hallo Forum,
nachfolgender Code soll alle Ordner eine anzugebenden Verzeichnisses in eine
UserForm-Combobox und zugehörige Dateien in eine Listbox übernehmen.
Leider bin ich nicht so Fit in VBA ! Welche Vorbereitungen bzw Voraussetzungen
müssen geschaffen werden damit diese Anwendung läuft.Wo werden die einzelnen
Teile des Makros abgelegt ?

Danke für die Hilfe !!

Sub DialogAufruf()
frmFiles.Show
End Sub

Private Sub cboFolders_Change()
Dim fs As FileSearch
Dim iCounter As Integer
lstFiles.Claer
Set fs = Application.FileSearch
With fs
.NewSearch
.LookIn = Range("B1").Value & cboFolders.Value
FileType = msoFileTypeExcelWorkbooks
.Execute
For iCounter = 1 To .FoundFiles.Count
lstFiles.AddItem.FoundFiles (iCounter)
Next iCounter
End With
End Sub


Private Sub cmdCancel_Click()
Unload Me
End Sub


Private Sub cmdOK_Click()

End Sub


Private Sub cmdOpen_Click()
If lstFiles.Value <> "" Then
Workbooks.Open lstFiles.Value
End If
End Sub


Private Sub UserForm_Initialize()
Dim iCounter As Integer
Dim sDir As String, sFile As String
If Right(Range("B1").Value, 1) <> "\" Then
Range("B1").Value = Range("B1").Value & "\"
End If
sDir = Range("B1").Value
Me.Caption = "Start: " & sDir
sFile = Dir(sDir & "*.*", vbDirectory)
Do While sFile <> ""
If sFile = "." Or sFile = ".." Then
ElseIf (GetAttr(sDir & sFile) And _
vbDirectory) = vbDirectory Then
cboFolders.AddItem sFile
End If
sFile = Dir
Loop
With Application.FileSearch
.LookIn = sDir
.FileType = msoFileTypeExcelWorkbooks
.Execute
For iCounter = 1 To .FoundFiles.Count
lstFiles.AddItem .FoundFiles(iCounter)
Next iCounter
End With
End Sub

  


Betrifft: AW: Listbox von: Stephan
Geschrieben am: 06.09.2004 15:03:58

Hallo Holger,

du brauchst als erstes eine Userform, in die Du eine Combobox, ein Listenfeld und zwei Commandbuttons einfügst.
Das erreichst Du im VBA editor den Du mit Alt+F11 öffnest. unter Einfügen / Userform ist das möglich.

Dann fügst Du zusätzlich noch ein Modul ein. Das funktionirt ebenfalls über Einfügen / Modul.

Alle Makros außer das erste ("Sub Dialog Aufruf") fügst Du in den Code der Userform ein.
Das Makro Sub DialogAufruf fügst Du in das Modul ein.

ja nachdem was Die lieber ist, änderst du den Programmtext ab, oder benennst die Steuerelemente um.

Am besten ist es die Steuerelemnete umzubennen.

Dazu änderst du den Namen der Userform in "frmfiles" um.
Den Namen der Combobox änderst Du in "cbofolders" und die Listbox in "lstFiles" um.

Die Commanbutton änderst Du je nach dem welcher welche aufgabe erfüllen soll in "cmdOpen" und in "cmdCancel" um

Gruß Stephan


  


Betrifft: AW: Listbox von: Holger
Geschrieben am: 07.09.2004 07:37:59

Hallo Stephan,

danke für die tolle Anleitung, jetzt habe ich das mit der UserForm auch verstanden.
Eine Frage zu dem Makro: kann ich den FileTyp (ExcelWorkbooks) ändern, wenn ja wie
müsste die Zeile aussehen wenn ich Dateien mit der Endung ".msc" anzeigen möchte.

mfg
Holger


 

Beiträge aus den Excel-Beispielen zum Thema "Listbox"