Avatar billede Klaus W Guru
03. december 2022 - 17:22 Der er 1 løsning

Find mappe

Hej allesammen,

Nogle der kan hjælpe med en VBA-kode så Excel kan finde den mappe, hvor en fil er gemt.

I G1 skriver jeg bogstavet for drevet.

I K1 står filnavnet.

Nu vil jeg have den mappe, som Excel finder filen i, vises i O1.

Eksempel.

G1 er D:\

K1 er Test.xslx

O1 skal vise D:\Myfolder

Med venlig hilsen

Klaus W
Avatar billede Klaus W Guru
04. december 2022 - 09:25 #1
Fandt lige denne løsning.

Sub Rektangelafrundedehjørner1_Klik()

Dim mainFolder As String, productCode As String
    Dim dirLines As Variant
    Dim i As Long, foundFile As String
 
    mainFolder = Range("G1")            'change
    productCode = Range("I1")          'change
 
    If Right(mainFolder, 1) <> "\" Then mainFolder = mainFolder & "\"
    dirLines = Split(CreateObject("wscript.shell").exec("cmd /c DIR /B /S /A-D /O-D " & Chr(34) & mainFolder & "*" & productCode & Chr(34)).StdOut.ReadAll, vbCrLf)
 
    foundFile = ""
    If UBound(dirLines) >= 0 Then
        i = 0
        While i < UBound(dirLines) And foundFile = ""
            If InStr(1, dirLines(i), "\Archive\", vbTextCompare) = 0 Then foundFile = dirLines(i)
            i = i + 1
        Wend
    End If
    If foundFile <> "" Then
        'MsgBox "Found " & foundFile, vbInformation, "Find Product workbook"
        ActiveSheet.Range("A1").Value = foundFile
    Else
        MsgBox "Excel workbook with file name containing product code '" & productCode & "' not found in " & mainFolder & " and its subfolders", vbExclamation, "Find Product workbook"
    End If
   
End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester