教えて!gooにおける不適切な投稿への対応について

以下のコードを使い同じフォルダー内のエクセルファイルを開き
任意のセルに「ok」と入力するマクロを使用しています。
マクロファイル名は「承認.xlsm」です。


①フォルダ内にあるファイル名は「0012」「0012b」「0013」「0013b」です。
ファイル名に「0012」が含まれているファイル(「0012」と「0012b」)のみ印刷したいです。

②「承認.xlsm」以外を全て印刷するやり方も知りたいです。

お詳しい方教えていただけませんでしょうか?
宜しくお願い致します。

Sub ok()
Application.ScreenUpdating = False
Dim Myfile, Filepath As String
Filepath = ThisWorkbook.Path & "\"
Myfile = Dir(Filepath)
Do While Myfile <> ""
Workbooks.Open Filename:=Filepath & Myfile
Workbooks(Myfile).Activate
Worksheets(1).Cells(4, 11).Value = "ok"
Workbooks("承認.xlsm").Worksheets("Sheet1").Range("K4") = " "
ActiveWorkbook.Save
Myfile = Dir()
Loop
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub

gooドクター

A 回答 (1件)

前略。


寝ぼけてます。

でもここまで出来るのならあと少しだったような。

Sub ok_1()
Application.ScreenUpdating = False
Dim Myfile, Filepath As String
Filepath = ThisWorkbook.Path & "\"
Myfile = Dir(Filepath)
Do While Myfile <> ""
If Myfile Like "0012*" Then
Workbooks.Open Filename:=Filepath & Myfile
Workbooks(Myfile).Activate
Worksheets(1).Cells(4, 11).Value = "ok"
Workbooks("承認.xlsm").Worksheets("Sheet1").Range("K4") = " "
ActiveWorkbook.Save
End If
Myfile = Dir()
Loop
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub
'------------------------
Sub ok_2()
Application.ScreenUpdating = False
Dim Myfile, Filepath As String
Filepath = ThisWorkbook.Path & "\"
Myfile = Dir(Filepath)
Do While Myfile <> ""
If Myfile <> "承認.xlsm" Then
Workbooks.Open Filename:=Filepath & Myfile
Workbooks(Myfile).Activate
Worksheets(1).Cells(4, 11).Value = "ok"
Workbooks("承認.xlsm").Worksheets("Sheet1").Range("K4") = " "
ActiveWorkbook.Save
End If
Myfile = Dir()
Loop
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます!こちらは頭の中がスッキリできました。

お礼日時:2021/04/11 05:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング