
No.1ベストアンサー
- 回答日時:
Sub try()
Dim i As Integer
Dim m As Integer
i = 1
Range("A1:A30").ClearContents
While i < 9
m = Int(Rnd() * 30) + 1
If Cells(m, 1).Value = "" Then
Cells(m, 1).Value = "○"
i = i + 1
End If
Wend
End Sub
一例まで。
No.4
- 回答日時:
#3 DOUGLAS_ です。
>お好きな範囲にお好きな数だけどうぞ
と書きながら、
Range("A" & Int(セル.Rows.Count * Rnd) + 1).Value
はなかったですね。 失礼いたしました。 <(_ _)>
矩形に限りますが
Sub Macro2()
Dim セル As Range
Dim 指定個数 As Integer
Set セル = Range("A4:F11")
セル.ClearContents
指定個数 = 8
Do
セル.Cells(Int(セル.Count * Rnd) + 1).Value = "○"
Loop Until Application.CountA(セル) > 指定個数 - 1
Set セル = Nothing
End Sub
この回答へのお礼
お礼日時:2010/04/25 05:08
ご回答ありがとうございます
ランダムで選ぶループも実に色々なやり方があるのですね
一般化することで使い道が増えそうです
参考にさせて頂きます
No.3
- 回答日時:
ポイント は「8個になるまでの操作」かと存じますが、
Sub Macro1()
Range("A1:A30").ClearContents
Do
Range("A" & Int(30 * Rnd) + 1).Value = "○"
Loop Until Application.CountA(Range("A1:A30")) > 7
End Sub
「指定個数」ということで、お好きな範囲にお好きな数だけどうぞ。
Sub Macro2()
Dim セル As Range
Dim 指定個数 As Integer
Set セル = Range("A1:A30")
セル.ClearContents
指定個数 = 8
Do
Range("A" & Int(セル.Rows.Count * Rnd) + 1).Value = "○"
Loop Until Application.CountA(セル) > 指定個数 - 1
Set セル = Nothing
End Su
No.2
- 回答日時:
#1のご回答で十分なのですが、
>セルをランダムに8個選んで
というのを文字通りやってみました。ご参考まで。
Sub test()
Dim myRange As Range, targetRange As Range
Randomize (Now())
Set targetRange = Range("A1:A30")
With targetRange
.ClearContents
Do
If myRange Is Nothing Then
Set myRange = .Cells(Int(Rnd() * 30) + 1)
Else
Set myRange = Union(myRange, .Cells(Int(Rnd() * 30) + 1))
End If
Loop Until myRange.Cells.Count = 8
End With
myRange.Select
myRange.Value = "○"
End Sub
この回答へのお礼
お礼日時:2010/04/24 22:20
ご回答ありがとうございます
8個選んだ後で値を入れる方法ですね
勉強が足りなくて何故選択したセルが重複しないか理解できていませんが
参考にさせて頂きます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAのListBoxで複数選択して...
-
メッセージを1度だけ表示したい。
-
アクティブセルの行のセルを複...
-
Swing 編集不可でも選択可能なJ...
-
VBAで、貼り付け禁止命令を実現...
-
EXCELマクロ 保護されているシ...
-
JTableでのCELLの複数選択
-
エクセルテキストボックスの文...
-
データが入力されている隣のセ...
-
エクセルVBA(実行時エラー438...
-
選択範囲内でアクティブセルを...
-
【VBA】参照値を1ずつ増やして...
-
エクセル:マクロ「Application...
-
Excel 行の連続データを列に参...
-
エクセルで表示形式の時刻の「0...
-
31:30:00が1900/1/1 7:30:0
-
エクセルの画面で十字マークが...
-
エクセル逆三角マークで選択項...
-
エクセルのセル内に全角数字を...
-
条件付書式で「=#N/A」に色を付...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA(実行時エラー438...
-
EXCELマクロ 保護されているシ...
-
VBAのListBoxで複数選択して...
-
データが入力されている隣のセ...
-
VBAで、貼り付け禁止命令を実現...
-
メッセージを1度だけ表示したい。
-
エクセルテキストボックスの文...
-
ダブルクリックすると現在の時...
-
VBA セルに合わせて移動するが...
-
Swing 編集不可でも選択可能なJ...
-
Jtableの特定のセルの背景色や...
-
ハイパーリンクされているファ...
-
セル色を5秒間隔で変える
-
Excel VBA ダブルクリックで入...
-
VBAで丸をつけたいです。
-
セルに数値が入力されたら別の...
-
Windowsで動くVBAがmacOSで動か...
-
FileSearch2007に変わる構文に...
-
GrapeCityのSpreadの複数セルの...
-
現在 target.value = format(ta...
おすすめ情報