No.1ベストアンサー
- 回答日時:
こんなのはいかがでしょうか?
--------------------------------------------------------------------------------
Sub 乱数()
Dim 行 As Long
Dim 乱数 As Long
Dim 数(9) As Boolean
Randomize
For 行 = 1 To 10
Do
乱数 = Int(10 * Rnd)
Loop While 数(乱数)
Cells(行, 3).Value = 乱数 + 1
数(乱数) = True
Next
For 行 = 1 To 5
Do
乱数 = Int(10 * Rnd)
Loop Until 数(乱数)
Cells(行, 1).Value = 乱数 + 1
数(乱数) = False
Next
End Sub
--------------------------------------------------------------------------------
No.4
- 回答日時:
No.2です。
>1つ飛ばし(A1,A3,…と言った具合)
要するに範囲指定だけの問題だと思います。
色々やり方はありますが・・・
Dim c As Range, myRng As Range, myNum As Long
Sub Sample2()
Dim myFlg(1 To 10) As Boolean
Set myRng = Range("A1:A9,C1:C9") '//★//
Randomize
For Each c In myRng
If c.Row Mod 2 = 1 Then '//★//
Do
myNum = Int(10 * Rnd + 1)
Loop Until myFlg(myNum) = False
c = myNum
myFlg(myNum) = True
End If
Next c
End Sub
Sub Sample3()
Dim myFlg(1 To 10) As Boolean
Set myRng = Range("A1,A3,A5,A7,A9,C1,C3,C5,C7,C9") '//★//
Randomize
For Each c In myRng
Do
myNum = Int(10 * Rnd + 1)
Loop Until myFlg(myNum) = False
c = myNum
myFlg(myNum) = True
Next c
End Sub
Sub Sample4()
Dim myFlg(1 To 10) As Boolean
Set myRng = Range("A1:C9") '//★//
Randomize
For Each c In myRng
If c.Row Mod 2 = 1 And c.Column Mod 2 = 1 Then '//★//
Do
myNum = Int(10 * Rnd + 1)
Loop Until myFlg(myNum) = False
c = myNum
myFlg(myNum) = True
End If
Next c
End Sub
※ 上記のどのマクロでも大丈夫だと思います。
「★」の行でA・C列の奇数行を指定しているだけです。m(_ _)m
No.3
- 回答日時:
それでしたら
--------------------------------------------------------------------------------
Sub 乱数2()
Dim 行 As Long
Dim 列 As Long
Dim 乱数 As Long
Dim 数(9) As Boolean
Randomize
For 行 = 1 To 5
For 列 = 1 To 3 Step 2
Do
乱数 = Int(10 * Rnd)
Loop While 数(乱数)
Cells(行, 列).Value = 乱数 + 1
数(乱数) = True
Next
Next
End Sub
--------------------------------------------------------------------------------
No.2
- 回答日時:
こんにちは!
横からお邪魔します。
>A1〜A5,C1〜C5の10個・・・
Sub Sample1()
Dim c As Range, myNum As Long
Dim myFlg(1 To 10) As Boolean
Randomize
For Each c In Range("A1:A5,C1:C5")
Do
myNum = Int(10 * Rnd + 1)
Loop Until myFlg(myNum) = False
c = myNum
myFlg(myNum) = True
Next c
End Sub
こんな感じではどうでしょうか?m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelにの以下の設定方法について教えてください! C列にデータ入力の設定をしています。(出、入を 3 2022/06/22 01:33
- Excel(エクセル) Excelのマクロで、特定のセルから順番に値を取得したい 5 2022/12/06 15:34
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Excel(エクセル) 日本語向きの“ダブルクオーテーション”の入力 1 2022/10/16 11:33
- Excel(エクセル) Excelについて A1からA12まで、1月〜12月と入力し、 B1からB12の範囲に、C1とD1に 4 2022/05/26 22:48
- Excel(エクセル) Excel 関数 数式 について 2 2022/09/02 21:45
- Excel(エクセル) エクセルの関数式を教えてください。 2 2022/11/29 21:09
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Excel(エクセル) Excel 数式を教えてください 2 2022/06/02 12:24
- Excel(エクセル) ある範囲のセルに何を入力すると、別のセルに○を表示させる 3 2022/04/05 15:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUPの列番号の最大は?
-
エクセルで離れた列を選択して...
-
LEFT関数とIF関数の組み合わせ...
-
「段」と「行」の違いがよくわ...
-
VBA 指定した列にある日時デー...
-
エクセル 重複 隣の列 一番...
-
Excelの行数、列数を増やしたい...
-
VBAで結合セルを転記する法を教...
-
CSVファイルの「0落ち」にVBA
-
エクセルのソートで、数字より...
-
リストからデータを紐付けしたい
-
ListViewで列を指定して表示さ...
-
最近急にVBAの処理速度が遅くな...
-
エクセルで複数列の検索をマク...
-
エクセルマクロPrivate Subを複...
-
えABのある列って
-
列方向、行方向の定義
-
エクセルマクロの組み方
-
エクセル マクロ 範囲指定で...
-
エクセルで住所を県と市・郡と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
「段」と「行」の違いがよくわ...
-
LEFT関数とIF関数の組み合わせ...
-
VBA
-
Excelの行数、列数を増やしたい...
-
VBA 指定した列にある日時デー...
-
エクセルで複数列の検索をマク...
-
CSVファイルの「0落ち」にVBA
-
エクセルマクロの組み方
-
エクセルのソートで、数字より...
-
えABのある列って
-
VBAで別ブックの列を検索し、該...
-
Excel文字列一括変換
-
エクセルで住所を県と市・郡と...
-
リストからデータを紐付けしたい
-
Alt+Shift+↑を一括で行うには、...
-
エクセル マクロ 範囲指定で...
-
エクセルで最初の行や列を開け...
-
エクセル 重複 隣の列 一番...
おすすめ情報
問題文にミスがありました。
A1〜A5,C1〜C5の10個のセルにランダムで重複の数字を入れたいです。
みなさま丁寧なご回答をいただきありがとうございます。
何度も補足してしまい申し訳ございません。
1つ飛ばし(A1,A3,…と言った具合)に先の質問のようにA列とC列に10個のランダムな数を入れるにはどうしたらいいでしょうか。
お手数おかけしますがご教授願えたら幸いです。