2013-08-20 45 views
0

我有一個工作表,它將一堆文件下載到單元中用戶指定的位置。我想要做的是爲這個單元添加驗證,這樣當它被點擊時,文件選擇窗口打開,並且用戶可以指定所需的位置。這甚至有可能嗎?我知道它可以通過一個按鈕觸發的宏來完成,但我真的很喜歡它的工作方式更像其他類型的驗證,比如下拉菜單。提示用戶在Excel中選擇單元格中的文件路徑

任何指向正確的方向將非常讚賞...非計算機類型有更多的麻煩打字無誤的路徑比你可能相信。

+2

查看Worksheet_SelectionChange事件和Application.GetOpenFileName方法 – tigeravatar

回答

2

將其粘貼在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 
相關問題