以下のようなものを作成しましたが、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ランキング
-
交通系icカードとクレカの磁気...
-
携帯動画変換君のエラー
-
パソコンに着いての質問です。 ...
-
みつも郎liteのファイルがエラ...
-
SAP GUI620にて意味不明なエラ...
-
右クリックで画像コピー やば...
-
2chのスレを見てた際にとあるリ...
-
IPアドレスだけでハッキングは...
-
パソコンのウィルスについて
-
ウォークマンからウイルス?
-
教えてください。 パソコンの用...
-
VPNは有効か
-
面白半分でエロフラッシュのサ...
-
【至急】
-
Macでは画像流出はしないのです...
-
縮小専用でResizedした写真の在...
-
悪意のあるクラッキングやハッ...
-
勝手にダウンロードされた Web...
-
【至急】
-
high security alertについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
交通系icカードとクレカの磁気...
-
「このURLはコンテンツブロッカ...
-
フリーキャドの変換(移動)に...
-
みつも郎liteのファイルがエラ...
-
リクエストの有効期限が切れま...
-
ラスタライズのエラー
-
GOM-playerでスクリプトエラー...
-
OpenClipboardに失敗しました(...
-
パソコンに着いての質問です。 ...
-
ソフトウエアー エラー???
-
PDFファイルを開こうとすると、...
-
フリーソフトでエラーが出て困...
-
最近wimax+5Gに変えたんですが...
-
以前作ったエクセルファイルを...
-
富士通SystemwalkerOperationMa...
-
ANSYS_ED エラーについて
-
インターナルエラー:GEDIT 3 ...
-
Instagramでリクエストにエラー...
-
ツイッターでページでエラーが...
-
iTunesで曲をインポートすると...
おすすめ情報