• ベストアンサー

エクセル2003のマクロ処理なのですが

エクセル2003のマクロ処理なのですが B1からB100までに文字列が入力されている状態で、 これを1行ずつコピーして文字を追記して挿入したいと考えています 「B1:かさ」 「B2:くつ」 「B3:ぼうし」とあった場合 「B1:かさ(日本製)」 「B2:かさ(イタリア製)」 「B3:くつ(日本製)」「B4:くつ(イタリア製)」 「B5:ぼうし(日本製)」 「B6:ぼうし(イタリア製)」 これをマクロのループ処理等を使って行う方法を教えていただけると助かります。 

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

ご質問のループ処理だと,たとえばこんな具合です。 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 #参考: セルの指定の仕方にも色々ありますが,趣味やその時々の用途でやりやすい方法を選びます。

aria1234
質問者

お礼

自分のPCのスペックでは処理が重かったですが、うまくできましたありがとうございます。

その他の回答 (2)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

安直ですが一例です。 (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

aria1234
質問者

お礼

回答ありがとうございます。 一つ前の回答者さんでうまくできてしまったので、ベストアンサーにできなく申し訳ないです。 こちらの方法も試してみようと思います。

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1

日本製 と  イタリア製 とを交互に追記すれば良いのですか?

関連するQ&A

専門家に質問してみよう