- ベストアンサー
エクセル2003のマクロ処理なのですが
エクセル2003のマクロ処理なのですが B1からB100までに文字列が入力されている状態で、 これを1行ずつコピーして文字を追記して挿入したいと考えています 「B1:かさ」 「B2:くつ」 「B3:ぼうし」とあった場合 「B1:かさ(日本製)」 「B2:かさ(イタリア製)」 「B3:くつ(日本製)」「B4:くつ(イタリア製)」 「B5:ぼうし(日本製)」 「B6:ぼうし(イタリア製)」 これをマクロのループ処理等を使って行う方法を教えていただけると助かります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ご質問のループ処理だと,たとえばこんな具合です。 sub macro1() dim i for i = range("B65536").end(xlup).row to 1 step -1 if range("B" & i)<>"" then cells(i + 1, "B").insert shift:=xlshiftdown cells(i + 1, "B") = cells(i ,"B") & "(イタリア製)" range("B" & i) = range("B" & i) & "(日本製)" end if next i end sub #参考: セルの指定の仕方にも色々ありますが,趣味やその時々の用途でやりやすい方法を選びます。
その他の回答 (2)
- mu2011
- ベストアンサー率38% (1910/4994)
安直ですが一例です。 (1)タブシート上で右クリック→コード表示→右上画面に以下のコードを貼り付けてマクロ実行してみて下さい。 Sub 行を挿入する() For i = Cells(Rows.Count, 2).End(xlUp).Row To 1 Step -1 Rows(i).Insert Cells(i, 2) = Cells(i + 1, 2) & "(日本製)" Cells(i + 1, 2) = Cells(i + 1, 2) & "(イタリア製)" Next i End Sub
お礼
回答ありがとうございます。 一つ前の回答者さんでうまくできてしまったので、ベストアンサーにできなく申し訳ないです。 こちらの方法も試してみようと思います。
- DIooggooID
- ベストアンサー率27% (1730/6405)
日本製 と イタリア製 とを交互に追記すれば良いのですか?
お礼
自分のPCのスペックでは処理が重かったですが、うまくできましたありがとうございます。