

現在、下記のようなマクロを使用しています。
Sub sample()
Dim myFile As String, myPath As String, i As Long
Application.ScreenUpdating = False
myPath = InputBox("フルパスでフォルダーを指定")
myFile = Dir(myPath & "\*.xls", vbNormal)
Do
Workbooks.Open myPath & "\" & myFile
For i = 1 To ActiveWorkbook.Sheets.Count
If WorksheetFunction.CountA(Sheets(i).Range("B7:B11")) = 0 Then
Sheets(i).Range("B7") = "*"
End If
Next
ActiveWorkbook.Close True
myFile = Dir()
Loop While myFile <> ""
Application.ScreenUpdating = True
MsgBox "完了 !!"
End Sub
上から4行目のmyPath = InputBox("フルパスでフォルダーを指定")を
パスを入力するマクロではなくてもっと簡単にフォルダを選択するマクロに変更したいのですが
どうすればいいですか?
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
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
#他にも幾つか直してます。
丸投げしないとできないなら最初からそう言ってください。
No.3
- 回答日時:
フォルダ参照を使えば良いと思いますよ。
Dim Shell
Set Shell = CreateObject("Shell.Application")
Set myPath = Shell.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, "C:\")
キャンセルされた場合など、myPathが空だった場合の処理も必要になります。
If Not myPath Is Nothing Then
~
ご参考まで。
この回答への補足
マクロ初心者なので申し訳ないのですが、単純にその行をこれに変更すればよいと
いうわけではないですよね?
できれば、全体を添削していただけないでしょうか?
No.2
- 回答日時:
>もっと簡単にフォルダを選択するマクロに変更したい
お好きなやり方をどうぞ:
http://officetanaka.net/excel/vba/tips/tips39.htm
#結果は簡単ですが,マクロはちょっと簡単じゃありませんね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/01 12:54
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/02 11:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
複数のシートにまたがるマクロ...
-
VBAで複数検索、AdvancedFilter
-
UWSCの簡単なキーマクロなので...
-
一部マクロを変更したいので教...
-
Excel VBA xlDialogSort引数リ...
-
エクセルのマクロ機能で前のシ...
-
エクセルでマクロを実行したい...
-
エクセルデータの縦横変換について
-
Excelのワークシート上でコンボ...
-
マクロの記録機能を使って作成...
-
【ExcelVBA】マクロボタンについて
-
古いエクセルも危険ですか
-
エクセル・マクロのModuleにつ...
-
マクロのなくす方法を教えてく...
-
エクセルのコメントの書式
-
マクロと次のマクロ実行の間の...
-
エクセルマクロについて
-
ます目計算か表計算ソフト
-
Word2010でマクロをショートカ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
Excelを開いた時に表示さ...
-
Excel VBA のdebug(F8キー) が...
-
エラーになってないのにVBA...
-
EXCELのセルへ、デジタル時計を...
-
複数ファイルにある特定のシー...
-
エクセル グラフの軸の最小値最...
-
モジュール内のマクロを全て実...
-
Wordの画面を左右にスクロール...
-
ワードからエクセルへ貼り付け...
-
エクセルのマクロ機能で前のシ...
-
EXCEL 複数のシートの同一の位...
-
Excelマクロでオプションボタン...
-
エクセルで複数のシートをまと...
-
VBAでEXCELに埋め込んだPDFを開...
-
【Excel VBA】エラー番号400
-
EXCEL2000 VBA マクロ実行中に...
-
エクセルでマクロ実行中に任意...
-
Wordで「原稿用紙○枚」を換算す...
おすすめ情報