
No.1ベストアンサー
- 回答日時:
こんばんは!
https://oshiete.goo.ne.jp/qa/10059650.html
↑のサイトの関連質問になるのですね。
>ボタンを押すとそれぞれのセルの名前がランダムに・・・
応用だけです。
「Aクラス」シートにコマンドボタンを配置しているとします。
コマンドボタンのコードを↓にしてみてください。
Private Sub CommandButton1_Click()
Dim c As Range, myRng As Range
Dim myNum As Long, myFlg(1 To 6) As Boolean
Randomize
With Worksheets("名簿")
Set myRng = .Range("A1,A3,A5,B1,B3,B5")
For Each c In myRng
Do
myNum = Int(6 * Rnd + 1)
Loop Until myFlg(myNum) = False
c = Cells(myNum, "A")
myFlg(myNum) = True
Next c
End With
End Sub
こんな感じで大丈夫だと思います。m(_ _)m

No.3
- 回答日時:
たぶん、ここでは、私のは、理解されないかもしれません。
ランダムの基数が6だけでは、どれも差はでません。Excelの擬似乱数ジェネレーターは、「一様乱数(ひとつのパレットでできる乱数)」に欠陥があるそうで、その一様乱数は 32768 種しかありません。だから、専門的な乱数には使えないとも言われています。
以下は、Flag を使わず、重複を出さないシステムです。乱数によって、一意の数字を見つける方法ですと、数によっては、アテのない時間を待つ可能性があります。本格的には、アルゴリズムを利用します。今回は、ワークシート関数で間に合わせました。
'//
Sub RandomGenerate1()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim prsns As Range
Dim nums(1 To 6)
Dim Ar(1 To 6) As Variant
Dim i As Long, j As Long, k As Long
Dim c As Variant
Dim v As Variant
Set sh1 = Worksheets("Aクラス")
Set sh2 = Worksheets("名簿")
Set prsns = sh1.Range("A1:A6")
Randomize '一様乱数は、一回の発生につき1回限り
For i = 1 To 6
nums(i) = Rnd
Next
With Application
For i = 1 To 6
v = .Small(nums, i)
Ar(i) = .Match(v, nums, 0)
Next
End With
k = 1
For Each c In sh2.Range("A1,A3,A5,B1,B3,B5")
c.Value = prsns(Ar(k)).Value
k = k + 1
Next c
End Sub
No.2
- 回答日時:
こんなのはいかがでしょうか?
--------------------------------------------------------------------------------
Sub test()
Dim 行 As Long
Dim 列 As Long
Dim 使用済(5) As Boolean
Dim 数 As Long
Randomize
Sheets("名簿").Select
For 行 = 1 To 5 Step 2
For 列 = 1 To 2
Do
数 = Int(6 * Rnd)
Loop Until 使用済(数) = False
Cells(行, 列).Value = Sheets("Aクラス").Cells(数 + 1, 1).Value
使用済(数) = True
Next
Next
End Sub
--------------------------------------------------------------------------------
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel:コマンドボタンの移動
-
コマンドボタンを押すたびに大...
-
スクロールしてもボタンを常に...
-
PPTのコマンドボタンがクリック...
-
押したボタンの位置取得(共通の...
-
ShowAllDataのエラーを回避したい
-
Accessのコマンドボタンの立体...
-
Excel VBA --- コマンドボタ...
-
エクセルVBA
-
Excel VBA 複数のコマンドボ...
-
エクセルVBAでOptionButtonのオ...
-
エクセル:マクロボタンが編集...
-
Auto CAD の F1(ヘルプ)を機...
-
コマンドボタンがあるかどうか...
-
イラストレータで5ボタンのマ...
-
エクセルでマクロを使わずに複...
-
エクセルでマクロボタンを動か...
-
エクセルでコマンドボタンを押...
-
エクセルのマクロでスライドシ...
-
Accessユーザーフォームでコマ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドボタンを押すたびに大...
-
Excel:コマンドボタンの移動
-
スクロールしてもボタンを常に...
-
コマンドボタンがあるかどうか...
-
押したボタンの位置取得(共通の...
-
Accessのコマンドボタンの立体...
-
Excel VBA --- コマンドボタ...
-
PPTのコマンドボタンがクリック...
-
エクセルVBAでOptionButtonのオ...
-
コマンドボタンで「終了ボタン...
-
エクセルVBA
-
[ExcelVBA] コマンドボタンを押...
-
ShowAllDataのエラーを回避したい
-
Wordでドラッグした文字列を括...
-
チェックボックスで「いずれか1...
-
コマンドボタンの画像も拡大表...
-
エクセルのコマンドボタンの位...
-
InDesignには「1段階戻る」の...
-
エクセルでマクロを使わずに複...
-
EXCELでNo.を変えて印刷したい
おすすめ情報