Hej !! Jag har ett liknande formulär som du. Kolla denna koden det kanske kan vara något du söker.Drivelistbox, Dirlistbox & Fillistbox -- söker en speciell lösning
    
    
I formuläret frmMain, finns har 3 st textfält (txtBildExt, txtBildInt & txtPlanLosning) där händelsen DoubleClick i fälten visar ett formulär (frmPath) med en Drivelistbox, Dirlistbox, Fillistbox samt en textruta (txtPath). 
När man dubbelklickat på någon av kontrollerna txtBildExt, txtBildInt eller txtPlanLosning, visas formuläret (frmPath) där man väljer ut önskad fil. Resultatet av selekteringen läggs i en textruta (frmPath) och när man stänger ner formuläret så skall resultatet (sökvägen) läggas tillbaka i samma kontroll som man klickade på för att starta filvalet.  Funktionen måste alltså "komma ihåg" (ex.vis txtBildExt) från vilken kontroll förfrågan kom ifrån och lägga tillbaka resultatet i samma kontroll (ex.vis txtBildExt).
Hoppas att ni förstår vad jag menar !!
/ArneSv: Drivelistbox, Dirlistbox & Fillistbox -- söker en speciell lösning
    
    
0. Skapa nytt projekt och en frmMain, lägg en Commandbutton på denna.
1. Lägg till ytterligare en form. döp formen till frmPathFile
2. Placera ut följande komponenter Drive1 och Dir1
3. Placera även ut cmdOK samt cmdNOK (command buttons)
4. Sedan placerar du ut en picture1 (Behövs eventuellt inte för att testa exemplet)
på frmMain under command1_click
private sub command1_click
   call frmPathFile.getPathFileName("Sökväg",lPath)
   msgbox lPath
end sub
Filnamnet behandlar du sperat då det inte ingår i sökvägen (pathen).
/Lycka till
[peter.h]
<code>
Option Explicit
Private vPath As String
Private lOK As Boolean
Private lNOK As Boolean
Private Sub cmdNOK_Click()
    lNOK = True
End Sub
Private Sub cmdOK_Click()
    lOK = True
End Sub
Private Sub Drive1_Change()
    'Om enhetsbeteckningen ändras måste dir1 uppdateras
    'Ignorera fel. Ett fel uppstår exvis om användaren väljer
    'En CD-Rom enhet där ingen skiva sitter i.
    On Error Resume Next
    Err.Clear
    Dir1.Path = Drive1.Drive
    'Nästa rad gör "fel-skylten" synlig om enheten
    'inte finns eller är otillgänglig.
    Picture1.Visible = CBool(Err.Number)
    On Error GoTo 0
End Sub
Private Sub Form_Load()
    'Lägg formen always on top
    SetWindowTopMost Me.hWnd
    'Placera ut formuläret där det stängdes ner. Default är centrerat
    Me.Top = GetSetting(App.Path & "\settings.txt", "form pathfile", "top", (Screen.Height - Me.Height) \ 2)
    Me.Left = GetSetting(App.Path & "\settings.txt", "form pathfile", "left", (Screen.Width - Me.Width) \ 2)
End Sub
Public Function getPathFileName(lCaption As String, ByRef lPath As String) As Long
    'In i funktionen kommer en sökväg och ett filnamn. Samt en "caption" som
    'tilldelas formens captionegenskap. I sökvägen lPath finns enhetsbeteckningen.
    'Börja med att plocka ut enhetsbeteckningen, alltid de två vänstraste tecknen.
    'För säkerhets skull ignorera fel
    On Error Resume Next
    Drive1.Drive = Left(lPath, 2)
    
    'Sätt drive och dir och text1.text
    vPath = lPath
    Dir1.Path = lPath
    On Error GoTo 0
    
    'Visa formen
    Me.Caption = lCaption
    Me.Visible = True
    
    'Invänta att användaren trycker nån av knapparna
    'Detta förhindrar att kodexekveringen fortsätter efter
    'calling procedure.
    lOK = False
    lNOK = False
    Do
        DoEvents
    Loop Until lOK = True Or lNOK = True
    
    'Återvänd från denna med värden och returvärde
    If lOK = True Then
        lPath = Dir1.Path
        getPathFileName = 0
    Else
        getPathFileName = -1
    End If
    
    'Ladda ur formen
    Unload Me
End Function
Private Sub Form_Unload(Cancel As Integer)
    If lOK = False And lNOK = False Then
        Cancel = True
    End If
    'Spara formulärets placering
    Call SaveSetting(App.Path & "\settings.txt", "form pathfile", "top", Me.Top)
    Call SaveSetting(App.Path & "\settings.txt", "form pathfile", "left", Me.Left)
End Sub
Private Sub Label2_Click()
    'Klickar man på denna label såååå tar man bort felrutan
    'och sätter enheten till c:
    Picture1.Visible = False
    Drive1.Drive = Left(vPath, 2)
    Dir1.Path = vPath
End Sub
</code>