2017-05-23 3 views
0

매크로를 실행하면 파일 탐색기가 열리고 사용자가 특정 경로를 선택하면 해당 경로가 활성 셀에 붙여 넣어집니다. 여기에 코드가 있습니다.전체 열에 매크로 적용

Sub CommandButton1_Click() 
    With Application.FileDialog(msoFileDialogFolderPicker) 
     .InitialFileName = IIf(ActiveCell.Value = "", ActiveWorkbook.Path, ActiveCell.Value) 
     .Title = "Please choose a folder" 
     .AllowMultiSelect = False 
     If .Show = -1 Then ActiveCell.Value = .SelectedItems(1) 
    End With 
End Sub 

지금, 나는 사용자가 매크로가 활성화됩니다 A 열 내의 행을 클릭 할 때마다 때문에 A 열의를 버튼에 있지만 전체 열이 모듈을 할당 말하고 싶지 않습니다. 내가 이것을 할 수있는 방법이 있습니까?

답변

1

는 폴더 선택을 트리거 할 시트의 코드 모듈에 넣고 : 두 번 클릭하여 들어

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

    If Target.Cells.CountLarge = 1 And Target.Cells(1).Column = 1 Then 
     With Application.FileDialog(msoFileDialogFolderPicker) 
      .InitialFileName = IIf(target.Value = "", _ 
          thisWorkbook.Path, target.Value) 
      .Title = "Please choose a folder" 
      .AllowMultiSelect = False 
      If .Show = -1 Then Target.Value = .SelectedItems(1) 
     End With 
    End If 

End Sub 

:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 

    If Target.Cells.CountLarge = 1 And Target.Cells(1).Column = 1 Then 
     With Application.FileDialog(msoFileDialogFolderPicker) 
      .InitialFileName = IIf(ActiveCell.Value = "", ActiveWorkbook.Path, ActiveCell.Value) 
      .Title = "Please choose a folder" 
      .AllowMultiSelect = False 
      If .Show = -1 Then Target.Value = .SelectedItems(1) 
     End With 
     Cancel = True '<< prevents going into edit mode 
    End If 

End Sub 
+0

이 마법처럼 일했다 :) 감사합니다! –

+0

질문이 하나 더 있습니다. 열 A의 셀을 "두 번 클릭"할 때만 매크로 호출을 변경하고 싶습니다. –