2017-05-23 5 views
0

Ich habe ein Makro, das bei der Ausführung Datei Explorer öffnet und wenn der Benutzer den bestimmten Pfad auswählt, fügt es diesen Pfad in der aktiven Zelle ein. Hier ist der Code.Anwenden eines Makros auf eine ganze Spalte

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 

Nun, ich will nicht, um dieses Modul zu einer Taste zuweisen, sondern auf eine ganze Spalte, sage Spalte A so, wenn der Benutzer auf einer Zeile in der Spalte A klickt der Makro aktiviert wird. Kann ich das irgendwie machen?

Antwort

1

dies für das Blatt in dem Codemodul Setzen Sie, wo Sie die Ordnerauswahl auslösen soll:

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 

Für einen Doppelklick auf:

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

wie ein Charme :) Danke! –

+0

Noch eine Frage - was, wenn ich den Aufruf für Makro nur ändern möchte, wenn ich die Zelle in Spalte A "doppelklicke"? –

Verwandte Themen