No.3
- 回答日時:
VBAは初心者ですけど、勉強と思い、半日がかりで書いてみました。
どうでしょうか?9人を選ぶのではなく、3人を選ばない・・・という考えです。12人の名前を、A~Lとします。シートのA列にその組み合わせが表示されます。例えば「DEFGHIJKL」のように。ちゃんと220通りとなりました。自信ありませんので、経験者の方のご意見など頂ければありがたいのですが・・・。便乗して済みません!
Sub CONBIN()
Dim a As String
Dim I, j, k, l As Integer
a = "ABCDEFGHIJKL"
l = 0
For I = 1 To 10
For j = I + 1 To 11
For k = j + 1 To 12
l = l + 1
Range("a" & l) = a
Range("a" & l).Replace WHAT:=Chr(64 + I), REPLACEMENT:=""
Range("a" & l).Replace WHAT:=Chr(64 + j), REPLACEMENT:=""
Range("a" & l).Replace WHAT:=Chr(64 + k), REPLACEMENT:=""
Next
Next
Next
End Sub
この回答へのお礼
お礼日時:2005/09/12 09:31
半日がかりとは・・本当にありがとうございます!
私もVBAはこれからと言ったところなのですが、
いい課題になったと思っています。いろんな方法で
求められるようなので、回答いただいたすべてを
自分で試してみます。
No.2
- 回答日時:
再帰つかってみました
Dim a() '要素を格納する配列
Dim na As Integer 'a()の要素数
Dim nb As Integer '取り出す要素数
Dim i As Integer
Dim j As Integer
Sub foo()
Dim isUse() As Boolean
na = 12
nb = 9
ReDim Preserve a(na)
ReDim Preserve isUse(na)
a(1) = 1
a(2) = 2
a(3) = 3
a(4) = 4
a(5) = 5
a(6) = 6
a(7) = 7
a(8) = 8
a(9) = 9
a(10) = 10
a(11) = 11
a(12) = 12
Call bar(1, isUse(), 0)
End Sub
Sub bar(lv As Integer, isUse() As Boolean, us As Integer)
If (na - lv + 1 + us < nb) Then Exit Sub
If (us = nb) Then
For i = lv To na
isUse(i) = False
Next
j = 0
For i = 1 To na
If isUse(i) Then
ActiveCell.Offset(0, j).Value = a(i)
j = j + 1
End If
Next
ActiveCell.Offset(1, 0).Activate
Exit Sub
End If
isUse(lv) = True
Call bar(lv + 1, isUse(), us + 1)
isUse(lv) = False
Call bar(lv + 1, isUse(), us)
End Sub
No.1ベストアンサー
- 回答日時:
最も素直に解釈するとこうです
r = 1
For i01 = 1 To 4
For i02 = i01 + 1 To 5
For i03 = i02 + 1 To 6
For i04 = i03 + 1 To 7
For i05 = i04 + 1 To 8
For i06 = i05 + 1 To 9
For i07 = i06 + 1 To 10
For i08 = i07 + 1 To 11
For i09 = i08 + 1 To 12
Cells(r, 1).Value = i01
Cells(r, 2).Value = i02
Cells(r, 3).Value = i03
Cells(r, 4).Value = i04
Cells(r, 5).Value = i05
Cells(r, 6).Value = i06
Cells(r, 7).Value = i07
Cells(r, 8).Value = i08
Cells(r, 9).Value = i09
r = r + 1
Next
Next
Next
Next
Next
Next
Next
Next
Next
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) 出退勤管理の遅刻・早退時間について 3 2023/08/10 15:33
- Excel(エクセル) ExcelのVBAコードについて教えてください。 1 2023/01/13 10:42
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Excel(エクセル) IF 関数で「〇〇 という文字を含む場合」の分岐処理で表示された数字はSUMで数字集計できますか? 3 2022/08/02 16:29
- Excel(エクセル) マクロ ScrollColumn について 2 2022/04/07 09:31
- Visual Basic(VBA) VBA。壁の間隔Xミリの中に、5種類の異なる巾の板を敷き詰め、X以下でXに近い板の組み合わせを算出 6 2023/04/23 21:33
- Excel(エクセル) エクセルでセルの値分の個数の数字列を自動で入れたい 8 2023/03/14 18:00
- Excel(エクセル) 表計算ソフトcalcにおいて、1時間10分を1.1と表記する方法とそれらを集計する方法は? 4 2022/04/06 16:54
- Excel(エクセル) エクセルのマクロの有効について 4 2023/08/03 11:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
APEXってなんであんなにクソゲ...
-
スマホゲームのにゃんこ大戦争...
-
excel ピポットテーブルの更新...
-
レッドストーンのシーフのスキ...
-
テイルズウィーバー テチ ス...
-
latexの文字の大きさ\\normalsi...
-
xbox360版のff11の不具合について
-
スカイリムの超錬金バグについ...
-
SkyrimSEのMod organizer で困...
-
攻略について
-
ミストトレインガールズについて
-
バイオ リべレーションズ 弾...
-
ACCESS Switch関数の文字数な...
-
幻想水滸伝IIIの最強キャラ
-
FF14 「正直者のガートリックを...
-
フォールアウト4で傷ついた犬...
-
会社をクビになりそうです。適...
-
モンハン2ndG
-
モンスターハンターワールドア...
-
アシスト装備に
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
APEXってなんであんなにクソゲ...
-
スマホゲームのにゃんこ大戦争...
-
かっこいいと思うYouTuberさん...
-
メイプルストーリー アリアン...
-
FF14 レベリングルーレットの開...
-
この戦績でapexソロマスター可...
-
excel ピポットテーブルの更新...
-
FF11 釣りの「疲れ」について
-
FF11の金策
-
下記の希望に当てはまるmmorpg...
-
Java版マイクラの経験値が全く...
-
FF11超初心者用の攻略サイトな...
-
艦これで全ての艦娘について改...
-
FF11のお薦め狩場
-
FF11のお勧めサイト教えてくだ...
-
関ジャニ、全国ツアー第二弾に...
-
FF14、アルドゴート・ナニーの...
-
エクセルで組合せのパターンを...
-
拡張子が.ptってどうやって開く...
-
ラグナロクオンライン コンボ...
おすすめ情報