こんなことすらWeb上にまともな資料がなく、「どうなってんだ?」と何回口にしたかわからない。こんな簡単なことはいちいち説明するまでもないと言うことなのだろうか?
いや、一応あるにはあるのだが変数の命名が意味不明な上にコメントが皆無なので何をやっているのかさっぱりわからない。わからない以上は価値はゼロである。なので自身が「へっぽこアルゴリズムだな(笑)」と言われるの覚悟で晒す。
ここまでできればもう30%以上は出来た感だ。
※今見るとiは定義してるのにjとtempは定義してないとかひどいソースである。
Sub Cards()
Dim card(52) As Integer
Dim i As Integer
'トランプの生成、1デッキ52枚
For i = 1 To 52
card(i) = i
Next
'混ぜる。最初のカードをtempという箱に待避
For i = 1 To 52
j = Int(Rnd() * 52) + 1
temp = card(i)
card(i) = card(j)
card(j) = temp
Next
'連番にマークを付与して表示
For i = 1 To 52
Select Case card(i)
Case Is <= 13
Cells(i, 1) = "トランプはスペードの"
Cells(i, 2) = card(i)
Case Is <= 26
card(i) = card(i) - 13
Cells(i, 1) = "トランプはハートの"
Cells(i, 2) = card(i)
Case Is <= 39
card(i) = card(i) - 26
Cells(i, 1) = "トランプはダイヤの"
Cells(i, 2) = card(i)
Case Else
card(i) = card(i) - 39
Cells(i, 1) = "トランプはクローバーの"
Cells(i, 2) = card(i)
End Select
Next
End Sub