
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
ご回答ありがとうございます
ランダムで選ぶループも実に色々なやり方があるのですね
一般化することで使い道が増えそうです
参考にさせて頂きます
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
ご回答ありがとうございます
8個選んだ後で値を入れる方法ですね
勉強が足りなくて何故選択したセルが重複しないか理解できていませんが
参考にさせて頂きます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Excel(エクセル) エクセルの数式で教えてください。 1 2022/10/25 09:26
- Visual Basic(VBA) Outlook VBAについて 1 2023/07/10 12:41
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) エクセルの数式で教えてください。 1 2022/07/08 13:46
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) VBA オリジナル関数で選択セルの合計を作成したい 3 2023/03/19 19:45
- Excel(エクセル) Excelにの以下の設定方法について教えてください! C列にデータ入力の設定をしています。(出、入を 3 2022/06/22 01:33
- Excel(エクセル) エクセルでシート保護のかかり方の違いとセルの非保護の設定 3 2022/08/09 10:02
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルテキストボックスの文...
-
EXCELマクロ 保護されているシ...
-
Windowsで動くVBAがmacOSで動か...
-
データが入力されている隣のセ...
-
エクセルVBA(実行時エラー438...
-
GrapeCityのSpreadの複数セルの...
-
VBAで丸をつけたいです。
-
VBAで、貼り付け禁止命令を実現...
-
Swing 編集不可でも選択可能なJ...
-
メッセージを1度だけ表示したい。
-
セルに数値が入力されたら別の...
-
ダブルクリックすると現在の時...
-
エクセルのVBAでダブルクリック...
-
VBA セルに合わせて移動するが...
-
マクロ初心者です。何が動かな...
-
VBAのListBoxで複数選択して...
-
[VBA]型が一致しません
-
エクセルVBA セル選択後にカレ...
-
VBAについて教えてください。 E...
-
【マクロ】A列にある、日付(本...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データが入力されている隣のセ...
-
EXCELマクロ 保護されているシ...
-
エクセルテキストボックスの文...
-
VBAで、貼り付け禁止命令を実現...
-
エクセルVBA(実行時エラー438...
-
【VBA】InputBoxで文字をセルに...
-
VBA セルに合わせて移動するが...
-
Windowsで動くVBAがmacOSで動か...
-
ダブルクリックすると現在の時...
-
メッセージを1度だけ表示したい。
-
ハイパーリンクされているファ...
-
Swing 編集不可でも選択可能なJ...
-
VBAで丸をつけたいです。
-
(VBA)アクティブセルを起点に...
-
Excel VBA セルを指定個数ラン...
-
【VBA】参照値を1ずつ増やして...
-
エクセルのVBAでダブルクリック...
-
セル色を5秒間隔で変える
-
StringGridでの文字入力制限
-
アクティブセルの行のセルを複...
おすすめ情報