• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:一部マクロを変更したいので教えてください。)

Excel VBAでフォルダを選択するマクロに変更する方法

このQ&Aのポイント
  • Excel VBAを使用して、フォルダを選択するマクロに変更したいです。
  • 現在のマクロは、フルパスでフォルダを指定する必要がありますが、より簡単な方法でフォルダを選択できるようにしたいです。
  • 具体的な方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

Sub sample() Dim myFile As String, myPath As String, i As Long Dim myObj As Object Application.ScreenUpdating = False Set myObj = CreateObject("Shell.Application").BrowseForFolder(0, "フォルダを選択してください", 0) If myObj Is Nothing Then Exit Sub myPath = IIf(myObj = "デスクトップ", CreateObject("WScript.Shell").SpecialFolders("Desktop"), myObj.Items.Item.Path) myFile = Dir(myPath & "\*.xls", vbNormal) ' 以下おなじため略 End Sub

その他の回答 (4)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.5

ん? sub macro1()  dim myPath as string  dim myFile as string  dim w as worksheet  With Application.FileDialog(msoFileDialogFolderPicker)   If .Show = True Then    application.screenupdating = false    mypath = .selecteditems(1) & "\"    myfile = dir(mypath & "*.xls")    do until myfile = ""     workbooks.open filename:=mypath & myfile     for each w in activeworkbook.worksheets      if application.counta(w.range("B7:B11"))=0 then       w.range("B7") = "*"      end if     next     activeworkbook.close savechanges:=true     myfile = dir()    loop    application.screenupdating = true    msgbox "Done"   End If  End With End Sub #他にも幾つか直してます。  丸投げしないとできないなら最初からそう言ってください。

  • qualheart
  • ベストアンサー率41% (1451/3486)
回答No.3

フォルダ参照を使えば良いと思いますよ。 Dim Shell Set Shell = CreateObject("Shell.Application") Set myPath = Shell.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, "C:\") キャンセルされた場合など、myPathが空だった場合の処理も必要になります。 If Not myPath Is Nothing Then ~ ご参考まで。

pikkorodaimaou
質問者

補足

マクロ初心者なので申し訳ないのですが、単純にその行をこれに変更すればよいと いうわけではないですよね? できれば、全体を添削していただけないでしょうか?

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

>もっと簡単にフォルダを選択するマクロに変更したい お好きなやり方をどうぞ: http://officetanaka.net/excel/vba/tips/tips39.htm #結果は簡単ですが,マクロはちょっと簡単じゃありませんね。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

http://officetanaka.net/excel/vba/file/file02.htm こちらを参考にしてください。

関連するQ&A