提示用户在Excel中select单元格中的文件path

我有一个工作表,将一堆文件下载到单元中用户指定的位置。 我想要做的是添加validation到这个单元格,当它被点击时,文件select窗口打开,用户可以指定所需的位置。 这甚至有可能吗? 我知道这可以通过一个button触发的macros来完成,但我真的很喜欢它的工作更像其他types的validation,如下拉菜单。

任何指向正确的方向将非常赞赏…非电脑types有更多的麻烦input无误的path比你可能相信。

将其放在Workbook对象中。 或者,如果它是一个特定的表单,然后将其粘贴到表单对象中,并将事件更改为相关的工作表单 – 这将节省几个CPU周期,因为它只会触发相关工作表上的事件。

Public SelectedPath As String Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Dim desiredCell As Range Set desiredCell = Worksheets("Sheet1").Cells(1, 1) 'whatever If Target.Address(external:=True) = desiredCell.Address(external:=True) Then With Application.FileDialog(msoFileDialogFolderPicker) .AllowMultiSelect = False .ButtonName = "Select destination" .Title = "Select destination folder" .Show If .SelectedItems.Count > 0 Then SelectedPath = .SelectedItems(1) Target.Value = SelectedPath End If End With 'do some more stuff or let your other code access the SelectedPath field End If End Sub