- ベストアンサー
エクセルでA列の値に固定値を結合しB列に表示する方法
- エクセル2010を使用して、A列の値に固定値を結合したデータをB列に作成する方法について教えてください。
- 現在はA列をコピーしてB列にSサイズとMサイズを結合表示する方法を使っていますが、組み合わせが多い場合に追いつかないため、別の方法を知りたいです。
- よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは! VBAでの一例です。 1行目は項目行でデータは2行目以降に入っているとします。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i, j As Long Dim myArray As Variant i = Cells(Rows.Count, 2).End(xlUp).Row Range(Cells(2, 2), Cells(i, 2)).ClearContents myArray = Array("Sサイズ", "Mサイズ") For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row For j = 0 To UBound(myArray) Cells(Rows.Count, 2).End(xlUp).Offset(1) = Cells(i, 1) & myArray(j) Next j Next i End Sub 'この行まで ※ サイズが増える場合は、コード内の >myArray = Array("Sサイズ", "Mサイズ") の行を >myArray = Array("Sサイズ", "Mサイズ", "Lサイズ") のように変更します。 ※ 別の列にサイズを表示させてそれを利用する方法もあります。 その場合は当然コードも変わってきます。 ご希望の方法でなかったらごめんなさいね。m(__)m
その他の回答 (1)
- KURUMITO
- ベストアンサー率42% (1835/4283)
A2セルから下方にデータが有るとしたら、B2セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(ROW(A1)>COUNTA(A$2:A$100)*2,"",INDEX(A:A,ROUNDUP((ROW(A1)+2)/2,0))&IF(MOD(ROW(A1),2)=1,"Sサイズ","Mサイズ"))
お礼
ありがとうございます。 自己解決いたしました。
補足
ありがとうございます。 これで質問の内容はクリアできたのですが、 私の説明が足りませんでした。 これに項目を増やす場合は、どこを変更したらよいでしょうか? その時々によって、加えたい項目が2つだったり4つだったりします。 例えば、Lサイズと言う項目を増やしたい場合ですが、 ,"Lサイズ" と入れる他はどこに手を加えたらいいのでしょうか。 よろしくお願いいたします。
お礼
色々とできるのですね。 ありがとうございました。