- ベストアンサー
VBAを使用したセルの組み合わせによる商品管理番号の作成方法
- VBAを使ってセルの組み合わせにより商品管理番号を作成する方法について考えています。手動では大変なためVBAを使用したいと思っていますが、組み合わせなのか順列なのかがわからず、どのようにVBAを記述すれば良いか悩んでいます。
- 商品管理番号を作成するためには、セルの組み合わせが必要です。具体的な例として、セルAの値が11から14までの範囲で、セルBの値がAからFまでの範囲で変化するとします。この場合、11A1、11A2、12A1、12A2、・・・14A6のような商品管理番号を作成する必要があります。
- VBAを活用することで、セルの組み合わせにより商品管理番号を生成することが可能です。具体的な方法は、for文やネストしたfor文を使用してセルAとセルBの値を組み合わせ、連結して商品管理番号を作成することです。こうすることで手動では大変な作業を効率的に行うことができます。ただし、変数の数やfor文のネストの仕方については、状況によって異なるため柔軟に対応する必要があります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
関連するQ&A
- vba 組み合わせパターン表示
1,2,3,--,n-1,nからm個とる組み合わせのパターンを セル(1,1)から(nCm、nCm)に表示させる処理をVBAで記述 したいのですが、どうすればいいのでしょうか。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excelですべての組合せ(重複組合せ)を出力するには?
Excelですべての組合せ(重複組合せ)を出力するには? 次の条件のような場合、Excelですべての組合せ(重複組合せ)をVBAで出力するにはどうしたらいいのでしょうか? 10種類のお菓子の中から、好きなものを3個選んでセットにするとします。 同じものを複数選ぶのはありですが「菓子A、菓子B、菓子C」と「菓子B、菓子C、菓子A」は選んだ順が違うだけで同じ組合せなので、どちらか片方だけにします。 この場合、すべての組合せの数は Excelの関数で求めることができるようで COMBIN(10+3-1,3) = 220 通りあることまではわかりましたが、このすべての組合せの一覧をどのようにして出力したらいいのかがわかりません。 いろいろ検索した結果、順列という方法は見つかりましたが、重複組合せでの方法は見つけることができませんでした。 また、Accessを使っても似たようなことができるのでしょうか? 直積? できれば、3個固定ではなく5個の場合も出来るとうれしいです。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- 同じものを含む順列
連続する16個の数字から、4つ取り出してその組合せを全て表す処理を作ろうとしています。 まずは意味からと思い、いろいろ検索して調べても、うまく理解できず、最後の手段でここに投稿いたします。 組合せのパターンを割り出すのに、「同じものを含む順列」を使って行うと言われています。 いろいろ調べて混在したものが、意味の違いの点?で、「同じものを含む順列」と「重複順列」とは同じことを表すのでしょうか。 また、「同じものを含む順列」のパターン出力のプログラムを作る必要があり、参考になるサンプルが存在するなら教えていただけないでしょうか。 (順列や組合せは見つかったのですが) 宜しくお願いします。
- ベストアンサー
- 数学・算数
- 複数セルの文字列をスマートに連結する方法
ウィンドウズ7Home Premium 64bit、エクセル2010で、複数セルの文字列をスマートに連結する方法を、ご教授ください。例えば: A1 ABCD A2 EFGH A3 IJKL A4 MNOP A5 QRST A6 UVWX A7 YZ 7セルの文字列を、 A9 ABC...XYZ のように、1つのセルに、文字を連結して表示させる、スマートな方法を、お教えください。 (現在は、手動のコピペで処理しています!) 当方、自称の上級者です。ウィザード、関数、VBAのどの方法でも結構です。 また、セルの数が一定でないため、できれば、範囲選択しての方法がありがたいです。 (Selection) それが不可能なら、VBAのFOR:NEXTで、空白セルでブレークの方法でも。 達人の回答者の方、よろしくお願いいたします。
- 締切済み
- Windows 7
- エクセルVBA 変数Aと変数Bの組み合わせに対応する値を返すコード
ワークシート上に次の表があり,この表をもとにして,変数A(0~4)と変数B(0~4)の組み合わせに対応するC列の値を返すコードは,どう書いたらよいでしょうか。 例えば,変数Aのセルに●(4),変数Bのセルに▲(0)と入力したら,値のセルに■(5)と表示させたいのです。 どなたか教えていただけませんか。 A列 B列 C列 4 0 5 3 1 4 3 0 5 2 2 3 2 1 4 2 0 4 1 3 2 1 2 2 1 1 3 1 0 3 0 4 1 0 3 1 0 2 2 0 1 3 0 0 3 変数A:● 変数B:▲ 値:■
- ベストアンサー
- オフィス系ソフト
- For Next 式の結果をセル表示
Dim i, p For i = 1 To 9 For p = 1 To 9 Cells(i, i * p).Value = i * p Next p Next i End Sub ↑の式ではA、1~I、9に 結果が出るのですが その結果を縦にひとつづつ表示したいのです (たとえばA1~A81へ) その場合はもうひとつ変数を宣言して 変数に表示したいセルの情報を記入するのですか? もしくは変数を宣言しなくても可能ですか? できれば双方のサンプルを教えていただければ 幸いです
- ベストアンサー
- オフィス系ソフト
- VBAでセル指定するとき("A1")←半角?
VBAでセルを指定するとき、 例えばA1のセルを選択するときにRange("A1")と書きますよね。 このときに「A」は半角で入力したのですが、これは全角の「A」でもいいのでしょうか。 実際に全角にしてVBAを組んでも、問題なく処理できました。 ただ「全角にしても問題なく処理できたからいいや」というのではモヤモヤしてしまい、 全角でも問題なく処理できるという記述があるテキストやサイトを探しているのですが 見つかりません。 セル指定するときに全角、半角は関係ないのでしょうか。
- 締切済み
- Excel(エクセル)
- EXCELVBA 全通りの組み合わせの出力
はじめまして! VBAの記述の方法が分からず困っています。 過去の質問も検索してみましたが、自分のケースにどうあてはめればよいかわからず・・。 どなたが教えていただけないでしょうか? A1~AK1までそれぞれ1~37までの数字が入力されています。 組み合わせとして、そこから35個の数字を選ぶ場合の全通りを記載したいです。 2行目のA1~AI1までに選んだ35個の数字を出力し、 1行ずつ下にずらしていきたいです。 大変お手数ですが・・・よろしくお願いします・・・
- ベストアンサー
- その他MS Office製品
- EXCEL でセルの大小比較はできますか
EXCELのVBAで処理を作っているのですが、 その中で、セルのアドレスで大小比較ができたらと思うのですが、可能でしょうか。 条件としては、同じ行内です。 A1などのセルのアドレスを変数Xに入れておいて、 X < Y1 というようなことはできるのでしょうか。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- どうやってもFor文を抜けてしまいます…(VBA)
いつもお世話になっております。 VBAで作業をしていたところ、とある箇所でずっと詰まってしまい、 また皆様のお力を借りたいと思い・・・。 おそらく、基礎中の基礎かもしれませんが、お付き合い頂ければ助かります;; 【質問内容】 Functionが2つあったとします。 現在のFunctionから、別のFunctionに飛んで、また元のFunctionに戻ってきた際に、 Forでループ中でも抜けてしまうのでしょうか? おそらく、何を言ってるか分からないと思いますので、以下にコード例を記載します。 _________________________________ 【コード例】 function sample1() Dim roop as Long ’シート1のCell(7,4)には「100」と入力されており、「roopが2~100」の間ループさせます。 for roop + 2 To sheets("シート1").cells(7,4) 処理2 ’特定条件を満たしたら、「sample2」に飛びます。 if 条件 then call sample2 End If next End function _________________________________________________________________________________________ function sample2() ’sample1()で使用していたroop変数をそのまま使用します for roop + 1 To 50 処理2 roop + 1 next ’処理が終わりsample1()のnextに戻ります。 ’roopには、仮に50が格納されているとします。 End function _________________________________________________________________________________________ 上記のコードとなります。 最初はSample1()で処理を行い、特定条件を満たしたらSample2()に移行。 Sample2()の処理が終わったら、元のSample1()に戻る。 2つのFunction内で使用していた「roop」変数は、まだ80にも関わらず、 Sample1()のFor文を抜けてしまいます。 Sample1()のForのループ条件は「2~100」としていますが、 これは別のFunctionに飛ぶと、無くなってしまうのでしょうか? 何を言っているのか分からないなどございましたら、ご指摘ください・・・;; 以上、よろしくお願いします。
- 締切済み
- オフィス系ソフト
お礼
回答ありがとうございました。 すっきりとした内容で、応用がききました。