[[20180315160155]] 『空白行をカウントするループ処理について』(kd) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『空白行をカウントするループ処理について』(kd)

お世話になります。

「9X9マスのセルからランダムで49マスを空白にする」ために
以下のマクロを作りました。


Sub SODO_MUSI()

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


回答ありがとうございます。
1度再起動してみたら、治りました。
何が原因だったかはわからないですが、
解決できてよかったです。

今後もよろしくお願いします。
(kd) 2018/03/15(木) 17:01


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.