Excelのフォルダを選択するダイアログを表示して、
得た値をエクセルの指定したセルに書き込むマクロです。
(ネットに似たようなコードはいくらでも転がっていると思うけど・・・)
Sub pathselect() Dim Path As String With Application.FileDialog(msoFileDialogFolderPicker) If .Show = 0 Then Exit Sub End If Path = .SelectedItems(1) End With Range("A1").Value = Path End Sub
以上です。
If .Show = 0 Then Exit Sub End If
について。
単純にパスを取得するだけなら、この3行を「.show」に変えてもできます。
この一文を入れているのは、「キャンセル」とか「×」を押された時のためです。
この一文がないとエラーになるので、PC慣れしていない人にとっては大事件になります。
以下、画像で挙動を説明します。
エクセルと、マクロ実行用のボタンを用意します。
マクロ実行用のボタンを押すとフォルダ選択のダイアログが開きます。
例として「デスクトップ」を選択してOKを押します。
「キャンセル」や「×」を押すと終了します。
A1セルにフォルダのパスが書き込まれました。
(***には、通常ユーザ名が入ります。)