Excel VBA 質問スレッド №2089 (解決済)
通常実行では中断されるが一行ずつ実行すると上手くいく
投稿者 : だるま 投稿日時 : 2025/03/03(Mon) 12:36:15 OS : Windows 11 EXCEL : Office 365
お世話になります。
色々なサイトを参考にして自分の希望に合わせて組み合わせてみたのですが、実行すると所々で中断され続けます。
しかし、中断されるたび継続をすると上手くいきます。
この場合どのように修正すれば中断されなくなるのかご教示いただけますと幸いです。
中断個所を下記に記載させていただきました。
何卒よろしくお願いいたします。
"SC"という名のシートをコピーし、一番右に追加
名前を変更(中断)
End If(中断)
入力されているセル全体をコピー値のみペースト
1行目を削除(中断)
AE~BI列を削除(中断)
For i = 168 To 138 Step -1(中断)
136行目から169行目でA列に「Delete」と書かれている行を削除(1行ごとに中断)
For i = 89 To 45 Step -1(中断)
45行目から90行目でB列に「Delete」と書かれている行を削除(1行ごとに中断)
お世話になります。
色々なサイトを参考にして自分の希望に合わせて組み合わせてみたのですが、実行すると所々で中断され続けます。
しかし、中断されるたび継続をすると上手くいきます。
この場合どのように修正すれば中断されなくなるのかご教示いただけますと幸いです。
中断個所を下記に記載させていただきました。
何卒よろしくお願いいたします。
"SC"という名のシートをコピーし、一番右に追加
名前を変更(中断)
End If(中断)
入力されているセル全体をコピー値のみペースト
1行目を削除(中断)
AE~BI列を削除(中断)
For i = 168 To 138 Step -1(中断)
136行目から169行目でA列に「Delete」と書かれている行を削除(1行ごとに中断)
For i = 89 To 45 Step -1(中断)
45行目から90行目でB列に「Delete」と書かれている行を削除(1行ごとに中断)
Sub SCコピー()
Dim ws As Worksheet
Set ws = ActiveWorkbook.Sheets("SC")
Dim wsName As String
wsName = ws.Cells(1, 11).Value
Dim i As Long
' 同名のワークシートがないことをチェック
If nameCheckFlag(wsName) = True Then
MsgBox "同名のシートが存在するため、シートを作成できません。"
Else
' 「SC」シートをコピーして一番右に追加。
ws.Copy After:=Sheets(Sheets.Count)
' 追加したシートがActiveになっているので、ActiveSheetを通じて名前を設定。
ActiveSheet.Name = wsName
End If
Range("A1", ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Application.DisplayAlerts = False
Range("A1").PasteSpecial xlPasteValues
Rows(1).Delete
Columns("AE:BI").Delete
' 138~168行目を順番に判定し、A列(1列目)のセルに「Delete」を含んでいた時にその行を削除。
For i = 168 To 138 Step -1
If InStr(Cells(i, 1).Value, "Delete") >= 1 Then
Rows(i).Delete
End If
Next i
' 45~89行目を順番に判定し、B列(2列目)のセルに「Delete」を含んでいた時にその行を削除。
For i = 89 To 45 Step -1
If InStr(Cells(i, 2).Value, "Delete") >= 1 Then
Rows(i).Delete
End If
Next i
End Sub
' 同名のワークシートがないかチェックする関数
Function nameCheckFlag(wsName As String) As Boolean
Dim ws As Worksheet
For Each ws In Worksheets
If wsName = ws.Name Then
nameCheckFlag = True
Exit For
Else
nameCheckFlag = False
End If
Next ws
End Function
スポンサーリンク
[返信 1] Re : 通常実行では中断されるが一行ずつ実行すると上手くいく
投稿者 : thatsme 投稿日時 : 2025/03/03(Mon) 13:30:55
どこか時間ががかかりそうだと思うところの次に
Doevents
でも入れてやるとか
どこか時間ががかかりそうだと思うところの次に
Doevents
でも入れてやるとか
[返信 2] Re : 通常実行では中断されるが一行ずつ実行すると上手くいく
投稿者 : だるま 投稿日時 : 2025/03/03(Mon) 15:29:03
OSを再起動したところ解決しました。
OSを再起動したところ解決しました。
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2025-12-22 08:57:12 )