No.5
- 回答日時:
こんばんは。
前回の続きだと思いますので、複数のブックの処理をする場合。
'-------------------------------------------
Sub CirculateDeleteRows()
Dim fn As Variant
Dim mPath As String
'カンマ区切り
Const FILES = "123.csv, 124.csv, 126.csv, 125.csv"
'パス(ここを入れないでも可能)
mPath = Application.DefaultFilePath & "\"
For Each fn In Split(FILES, ",")
fn = Trim(fn)
If Dir(mPath & fn) <> "" Then
Call ExeMacro(mPath & fn)
Else
MsgBox mPath & fn & ": ファイルが見つかりません。", vbExclamation
End If
Next fn
End Sub
Sub ExeMacro(ByVal fn As String)
Dim mPath As String
Dim sep As String
mPath = Mid(fn, 1, InStrRev(fn, "\"))
fn = Mid(fn, InStrRev(fn, "\") + 1)
On Error GoTo ErrHandler
With Workbooks(fn)
.ActiveSheet.Rows("5:10").Delete Shift:=xlUp
.Close False
End With
Exit Sub
ErrHandler:
'ファイルがあれば開きます。
If mPath <> "" Then sep = "\"
Workbooks.Open mPath & sep & fn
Resume
End Sub
No.3
- 回答日時:
On Error Go To XXX
でXXXに導けるので、そこで好きな(適当と思う)内容のMsgboxを出せばよいのでは。ファイルが存在するかどうかを、前もって聞いて、XXXに誘導するほうが、エラー箇所が具体的・限定的・確定的になってよいと思うが。
この回答への補足
ありがとうございます。
ファイルを開くところの前に
On Error Goto ErrA
(End Subの直前に、)
Exit Sub
ErrA:MsgBox "ファイルが存在しません。"
End Sub
と書いて実行してみましたが、これでよさそうなのですが
こんな感じでいいのでしょうか。
よろしくお願いします。
No.2
- 回答日時:
これで、どうでしょうか
On Error Resume Next
Workbooks.Open ("・・・・・")
If Err Then
MsgBox "・・・・・"
End If
On Error GoTo 0
この回答への補足
どうもありがとうございます。
わざと違ったパスを入力してみましたが、
エラーの代わりにメッセージボックスは出るものの
そのシートでその後の加工の作業をしてしまいます。
メッセージボックスを出したらそこで終わりになってくれるといいのですが。
よろしくお願いします。
No.1
- 回答日時:
ファイルの存在を先に確認してから開きます。
If Dir("C:\Book1.xls") <> "" Then
Workbooks.Open "C:\Book1.xls"
Else
MsgBox "ファイルが存在しません。", vbExclamation
End If
この回答への補足
どうもありがとうございます。
わざと違ったパスを入力してみましたが、
エラーの代わりにメッセージボックスは出るものの
そのシートでその後の加工の作業をしてしまいシートがぐちゃぐちゃになってしまいます。
メッセージボックスを出したらそこで終わりになってくれるといいのですが。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
EXCELのVBAで画像を選んだ順に...
-
エクセル VBA
-
excelに貼り付けた数値が勝手に...
-
タスクバーのアプリ開閉を回避...
-
ハイパーリンクで前回値をひき...
-
ファイルを並び替えるときの「...
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
スクロールしてもボタンを常に...
-
PPTのコマンドボタンがクリック...
-
Excel:コマンドボタンの移動
-
コマンドボタンを押すたびに大...
-
エラーになってないのにVBA...
-
EXCELのセルへ、デジタル時計を...
-
エミュレータでジョイパットを...
-
Wordで「原稿用紙○枚」を換算す...
-
ワードからエクセルへ貼り付け...
-
押したボタンの位置取得(共通の...
-
エクセルVBA
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
excelに貼り付けた数値が勝手に...
-
Teraマクロで日付ディレクトリ...
-
EXCELのVBAで画像を選んだ順に...
-
ファイルを並び替えるときの「...
-
ハイパーリンクで前回値をひき...
-
エディタで効率的な切り出し方法
-
VLOOKUP関数とネットワークに置...
-
エクセル 一括リンクの解除
-
PDF ファイルが開けません。
-
CSVで文字化けしてしまうのを直...
-
=CELL("filename")で取得したフ...
-
excel INDIRECT 他ファイル参照
-
エクセルからスキャナVBAで連動...
-
Excelでリンクを使用すると#N/A...
-
ミュージックファイルのファイ...
-
Excelのマクロを実行しても、エ...
-
スタートアップに2つのファイ...
-
エクセルVBAで指定フォルダ内の...
-
EXCELで複数のファイルから抽出
おすすめ情報