Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA文件名搜索返回完整路径 子样本() 将sh设置为工作表 变暗rng As范围 暗我一样长,浅我一样长 Dim fPath作为字符串,sPath作为字符串 使用Application.FileDialog(msoFileDialogFolderPicker) 显示 fPath=.SelectedItems(1) 以 如果正确(fPath,1)“\”则 fPath=fPath&“\” 如果结束 Set sh=ThisWorkbook.Sheets(“Sheet1”) 与sh Lrow=.Range(“A”&.Rows.Count).End(xlUp).Row 对于i=2至Lrow “~~>检查部分匹配 sPath=fPath&“*”和.Range(“A”&i).Value&“***” 如果Len(Trim(Dir(sPath))大于0,则 .Range(“B”和i).Value=Dir(sPath) 如果结束 接下来我 以_Excel_Vba - Fatal编程技术网

Excel VBA文件名搜索返回完整路径 子样本() 将sh设置为工作表 变暗rng As范围 暗我一样长,浅我一样长 Dim fPath作为字符串,sPath作为字符串 使用Application.FileDialog(msoFileDialogFolderPicker) 显示 fPath=.SelectedItems(1) 以 如果正确(fPath,1)“\”则 fPath=fPath&“\” 如果结束 Set sh=ThisWorkbook.Sheets(“Sheet1”) 与sh Lrow=.Range(“A”&.Rows.Count).End(xlUp).Row 对于i=2至Lrow “~~>检查部分匹配 sPath=fPath&“*”和.Range(“A”&i).Value&“***” 如果Len(Trim(Dir(sPath))大于0,则 .Range(“B”和i).Value=Dir(sPath) 如果结束 接下来我 以

Excel VBA文件名搜索返回完整路径 子样本() 将sh设置为工作表 变暗rng As范围 暗我一样长,浅我一样长 Dim fPath作为字符串,sPath作为字符串 使用Application.FileDialog(msoFileDialogFolderPicker) 显示 fPath=.SelectedItems(1) 以 如果正确(fPath,1)“\”则 fPath=fPath&“\” 如果结束 Set sh=ThisWorkbook.Sheets(“Sheet1”) 与sh Lrow=.Range(“A”&.Rows.Count).End(xlUp).Row 对于i=2至Lrow “~~>检查部分匹配 sPath=fPath&“*”和.Range(“A”&i).Value&“***” 如果Len(Trim(Dir(sPath))大于0,则 .Range(“B”和i).Value=Dir(sPath) 如果结束 接下来我 以,excel,vba,Excel,Vba,您好,我使用上面的代码在与工作表中的单元格匹配时返回文件名。我想知道如何返回完整的路径名而不仅仅是文件名?我需要对此代码做哪些更改?您已经有了fPath;只需连接: Sub Sample() Dim sh As Worksheet Dim rng As Range Dim i As Long, Lrow As Long Dim fPath As String, sPath As String With Application.FileDialog(msoFileDialogFolderPick

您好,我使用上面的代码在与工作表中的单元格匹配时返回文件名。我想知道如何返回完整的路径名而不仅仅是文件名?我需要对此代码做哪些更改?

您已经有了
fPath
;只需连接:

Sub Sample()
Dim sh As Worksheet
Dim rng As Range
Dim i As Long, Lrow As Long
Dim fPath As String, sPath As String

With Application.FileDialog(msoFileDialogFolderPicker)
    .Show
    fPath = .SelectedItems(1)
End With

If Right(fPath, 1) <> "\" Then
    fPath = fPath & "\"
End If

Set sh = ThisWorkbook.Sheets("Sheet1")

With sh
    Lrow = .Range("A" & .Rows.Count).End(xlUp).Row

    For i = 2 To Lrow
        '~~> Check for partial match
        sPath = fPath & "*" & .Range("A" & i).Value & "*.*"

        If Len(Trim(Dir(sPath))) > 0 Then
            .Range("B" & i).Value = Dir(sPath)
        End If
    Next i
End With
.Range("B" & i).Value = fpath & Dir(sPath)