2の乗数のテストパターンを作成したいのですが、どのように作成すればいいのか
いまいちわからないので皆さん教えてください。御願いします。
例として2の3乗のパターンを作成したい場合
1パターン目
a=true
b=true
c=true
2パターン目
a=true
b=false
c=false
3パターン目
a=false
b=true
c=false
4パターン目
a=false
b=false
c=true
5パターン目
a=true
b=false
c=true
6パターン目
a=true
b=true
c=false
7パターン目
a=false
b=true
c=true
8パターン目
a=false
b=false
c=false
といった具合に作りたいのですが、for文やif文をどういう具合に使えばいいか
いまいちピンと来ないので、どなたかヒントでもいいので2の乗数のテストパターンの
作成の仕方を教えてくださいよろしく御願いいたいます
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
No.2です!
たびたびごめんなさい。
前回のコードでは「乗数」が多い場合は処理時間がかかりすぎますので、
一部訂正してください。
>i = Cells(Rows.Count, j).End(xlUp).Row
>Do Until Cells(Rows.Count, j).End(xlUp).Offset(1, -1) = ""
の2行を入れ替え、
>Do Until Cells(Rows.Count, j).End(xlUp).Offset(1, -1) = ""
>i = Cells(Rows.Count, j).End(xlUp).Row
の順にしてください。
これで少しは時間短縮が出来ると思います。
※ 理論上ではExcel2003以前の場合は「2の16乗」(65536行まで)
Excel2007以降のバージョンでは「2の20乗」(1048576行まで)表示可能なのですが、
コード自体がデータの最終行を行の上方向に向かって検索していますので、
実際は上記「乗数」より一つ少ない数でないと途中でマクロが止まってしまいます。
お役に立ちますかね?m(_ _)m
No.3
- 回答日時:
ちょっとトリッキーですがこんな方法もあります。
Sub test()
n = 3 '乗数
Cells.ClearContents
Range(Cells(1, 1), Cells(1, n)) = True
For i = 2 To 2 ^ n
F = True
For j = 1 To n
Cells(i, j) = F Xor Cells(i - 1, j)
If Not Cells(i, j) Then F = False
Next
Next
End Sub
No.2
- 回答日時:
こんばんは!
外していたらごめんなさい。
Excelだとして・・・
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です。)
Sub test() 'この行から
Dim i, j, k, L As Long
k = Application.InputBox("乗数を入力")
Application.ScreenUpdating = False
Cells.ClearContents
Range(Cells(1, 1), Cells((2 ^ k) / 2, 1)) = "true"
Range(Cells((2 ^ k) / 2 + 1, 1), Cells(2 ^ k, 1)) = "false"
For j = 2 To k
For i = 1 To Cells(Rows.Count, j - 1).End(xlUp).Row Step 2
L = L + 1
Cells(L, j) = Cells(i, j - 1)
Next i
L = 0
Next j
For j = 2 To k
i = Cells(Rows.Count, j).End(xlUp).Row
Do Until Cells(Rows.Count, j).End(xlUp).Offset(1, -1) = ""
Range(Cells(1, j), Cells(i, j)).Copy Destination:= _
Cells(Rows.Count, j).End(xlUp).Offset(1)
Loop
Next j
Application.ScreenUpdating = True
End Sub 'この行まで
こんな感じではどうでしょうか?m(_ _)m
No.1
- 回答日時:
a,b,cとか何をさしているのかわからない。
テストパターンが知りたかったら
実装方式を乗っけてください。
実装方式によってテストパターンかわるんじゃないですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
cellsで特定の離れた範囲を選択...
-
エクセルでツールバーに「縮小...
-
複数のデータ系列の線の太さを...
-
エクセルのストップウォッチ
-
ファイル名を今日の日付、時刻...
-
エクセルのマクロでSelection.S...
-
ワードで選択範囲だけの改行を...
-
Pictures.Insertメソッド⇒Shape...
-
ピボットグラフの書式の固定に...
-
エクセルシートをまとめて印刷...
-
エクセルVBAで、画像の倍率を知...
-
どのドキュメントは暗号化され...
-
wordのマクロで縮小して貼り付...
-
最初の1回のみにボタンクリッ...
-
VBA[Private Sub]のコードをシ...
-
EXCELグラフをPowerPointに貼り...
-
VBAをVBに変換する方法
-
Excelのラジオボタンにチェック...
-
エクセルで「ODBC Microsoft Ac...
-
VBからPowerPointのマクロを実...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のデータ系列の線の太さを...
-
エクセルでツールバーに「縮小...
-
Powerpointでランダムな数字の...
-
cellsで特定の離れた範囲を選択...
-
ファイル名を今日の日付、時刻...
-
ピボットグラフの書式の固定に...
-
VBA[Private Sub]のコードをシ...
-
VBAを使ってエクセルシート...
-
エクセル2007 テキストボ...
-
最初の1回のみにボタンクリッ...
-
Excelのラジオボタンにチェック...
-
Pictures.Insertメソッド⇒Shape...
-
別ブックからユーザーフォーム...
-
エクセルVBAで、画像の倍率を知...
-
wordのマクロで縮小して貼り付...
-
【ExcelVBA】クエリの更新とピ...
-
どのドキュメントは暗号化され...
-
エクセルシートをまとめて印刷...
-
エクセルのマクロでSelection.S...
-
htmlまたはJavascriptからファ...
おすすめ情報