[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『空白行をカウントするループ処理について』(kd)
お世話になります。
「9X9マスのセルからランダムで49マスを空白にする」ために
以下のマクロを作りました。
Dim i As Integer
Dim j As Integer
ActiveSheet.Range("A1:I9").Value = _
Sheets(1).Range("A1:I9").Value
Do
Randomize
i = Int(Rnd * 9) + 1
j = Int(Rnd * 9) + 1
Cells(i, j).ClearContents
If Range("L1") = "49" Then Exit Do ←ココ
Loop
End Sub
L1=COUNTIF(A1:I9,"")
上記のマクロを実行した場合、5回に1回ほどの頻度で
「コードのの実行が中断されました」となってしまいます。
いろいろなサイトで調べましたが、解決方法がわかりません。
些細なことでもよいので、教えていただけると幸いです。
< 使用 Excel:unknown、使用 OS:unknown >
これでエラーが出なくなるかわかりませんが…。
Sub SODO_MUSI()
Dim i As Integer, j As Integer
ActiveSheet.Range("A1:I9").Value = Sheets(1).Range("A1:I9").Value
Do Randomize i = Int(Rnd * 9) + 1 j = Int(Rnd * 9) + 1 Cells(i, j).ClearContents Loop Until Range("L1").Value = 49
End Sub
Do(またはLoop)の後に Until(またはWhile) 条件式 が付いていないケースはあまり見ませんね。 (bi) 2018/03/15(木) 16:37
20回やりましたが、全てエラー無し、
49で止まりましたよ
Win10
2016
でした。
(隠居じーさん) 2018/03/15(木) 16:49
今後もよろしくお願いします。
(kd) 2018/03/15(木) 17:01
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.