
以下のようなものを作成しましたが、1シートでは、問題なく回るものの2シート目のmをFINDしているところでエラーが発生します。原因は、該当するmが存在しないためだと思うのですが、そのような場合にエラーを回避し、次のシートへ飛びエラーが発生したシート番号を最後に表示してほしいです。
そのようなことは可能でしょうか?
読みにくいプログラムかもしれませんが、よろしくお願いします。
Dim top, m, under, bottom, cnt, she
Application.ScreenUpdating = False '画面固定
cnt = Sheets.Count 'シートの数
For she = 1 To cnt
Sheets(she).Activate
Columns("F:F").Select
Selection.Find(What:="0", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, MatchByte:=False, SearchFormat:=False).Activate
top = ActiveCell.Row - 1
Rows("1:" & Format(top)).Select
Selection.Delete Shift:=xlUp
Range("A1").Select
m = Range("E1") + 10
If m >= 60 Then
m = m - 60
Else
m = m
End If
Columns("E:E").Select
Selection.Find(What:=Format(m), After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, MatchByte:=False, SearchFormat:=False).Activate
under = ActiveCell.Row
bottom = Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row - 1
Rows(Format(under) & ":" & Format(bottom)).Select
Selection.Delete Shift:=xlUp
Range("A1").Select
Next she
End Sub
No.1ベストアンサー
- 回答日時:
以下のコードは参考になりませんか?
Sub Macro1()
Dim rg As Range
Set rg = Columns("F:F").Find(What:="0", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, MatchByte:=False, SearchFormat:=False)
If rg Is Nothing Then
MsgBox "ありませんでした"
Else
MsgBox rg.Row
End If
End Sub
この回答への補足
お礼の文章の後に、補足というのも変ですが。
Set rg = Columns("E:E").Find(m)
If rg Is Nothing Then
MsgBox "以下のシートには、該当行がありません。" & vbNewLine & ActiveSheet.Name
Else
under = rg.Row
bottom = Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row - 1
Rows(Format(under) & ":" & Format(bottom)).Select
Selection.Delete Shift:=xlUp
Range("A1").Select
End If
素直にFIND(検索したい数字)で通りました。
回答ありがとうございます。
自分のと同様に
Set rg = Columns("F:F").Find(What:="0", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, MatchByte:=False, SearchFormat:=False)
の部分が実行時エラー13と表示されうまくいきません。
Is Nothing というのは自分も見つけることができましたが、うまく回避できません。おわかりでしたら、よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルマクロで教えてください 2 2022/05/04 09:07
- Excel(エクセル) マクロで行を追加、削除すると行位置がずれますが、解決方法はありませんか?。 5 2022/05/28 16:03
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Excel(エクセル) EXCEL マクロで行を挿入して貼り付けようとするとエラーになる。 2 2022/05/24 09:43
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Excel(エクセル) マクロで列を加えたら上手くいかなくなりました。 2 2022/05/23 17:59
- Visual Basic(VBA) VBAで実行時エラー'424' オブジェクトが必要ですと出る 2 2022/10/07 09:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GOM-playerでスクリプトエラー...
-
「実行しましたがページでエラ...
-
Img Tool Classic 0.91について
-
大容量の動画ファイルを分割したい
-
Manycam エラー
-
みつも郎liteのファイルがエラ...
-
【Google AndroidのChromeブラ...
-
画層プロパティ管理
-
広く一般に開放された情報処理...
-
会社のパソコンの整備について...
-
右クリックで画像コピー やば...
-
教えてください。 パソコンの用...
-
おうち帰ってきたらパソコンが...
-
アンインストールしたプログラ...
-
インターネットが強制終了して...
-
ポップアップ広告
-
動画のダウンロードが突然出来...
-
ワンクリック登録でメールアド...
-
2chのスレを見てた際にとあるリ...
-
画像フォルダが、ある日変なフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
交通系icカードとクレカの磁気...
-
GOM-playerでスクリプトエラー...
-
「このURLはコンテンツブロッカ...
-
以前作ったエクセルファイルを...
-
win10からwin11へのIME登録単語...
-
パソコンに着いての質問です。 ...
-
リアルプレーヤーのエラーについて
-
現在、「Adobe Premiere Elemen...
-
エラーが頻発して困ってます ...
-
jimdoのHPが見られない
-
WinPcapインストール時、エラー...
-
富士通SystemwalkerOperationMa...
-
GIMPのロゴ効果 冷たい金属の...
-
ラスタライズのエラー
-
AutCAD LT 2000iのTodayが!
-
インターナルエラー:GEDIT 3 ...
-
Adobe Premiere Pro 2.0での「...
-
[AutoCAD 2007] CUIを変更しよ...
-
リクエストの有効期限が切れま...
-
どのようなランタイムを入れれ...
おすすめ情報