excel - 提示用户在 Excel 中选择单元格时选择文件路径

标签 excel vba validation

我有一个工作表,可以将一堆文件下载到用户在单元格中指定的位置。我想做的是向该单元格添加验证,以便在单击它时打开文件选择窗口,并且用户能够指定所需的位置。这甚至可能吗?我知道它可以通过按钮触发的宏来完成,但我真的希望它更像其他类型的验证一样工作,例如下拉菜单。

任何指向正确方向的人都将不胜感激……非计算机类型在输入无错误路径时遇到的麻烦比您想象的要多。

最佳答案

将其粘贴在 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

关于excel - 提示用户在 Excel 中选择单元格时选择文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18345883/

相关文章:

java - 从现有的 Base64 编码保存 Excel 文件

excel - 如何在 VBA 中设置滚动条值属性

excel - vba如何插入空格删除双行

excel - 验证完成后自动关闭用户表单

java - 在约束 validator 中使用 Guice 进行依赖注入(inject)

python - Pandas TypeError : Only valid with DatetimeIndex, TimedeltaIndex 或 PeriodIndex,但得到了 'Int64Index' 的实例

python - django modelform验证从数据库获取字段如果不是如果表单

vba - 在同一选项卡中打开两个链接的代码

vba - 每十秒重新计算十个单元格

datetime - VBA Excel根据给定的时间分辨率创建小时列(如日历)