• ベストアンサー

マクロ 情報を各シートに振り分け

いつも回答して頂きありがとうございます。 C3より横方向に商品名が記入が記入されているとします。この商品名毎にシートを挿入する記述にはどのようなものがあるでしょうか?御指導の程宜しくお願い致します。

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

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

例えば: sub macro1()  dim h as range  dim s as worksheet  on error goto errhandle ’C3てどこのC3?  with worksheets("シート名")  for each h in .range(.range("C3"), .range("IV3").end(xltoleft))  ’そういう名前のシートが有るか調べる   set s = worksheets(h.value)  next  end with  exit sub errhandle: ’無ければ追加する  worksheets.add after:=worksheets(worksheets.count)  worksheets(worksheets.count).name = h.value  resume end sub #補足 状況説明が足りてません。 C3以右に同じ商品名が書かれてたりすることがあるのか無いのか絶対無いと保証できるのかなどによっても、もっと簡単なマクロにできたりとか、こんな具合にまどろっこしいことをしないとエラーになるかもしれないです。

kero1192kero
質問者

お礼

説明足りずで申し訳ありませんでした。 下記のようなシート構成です。 ・C3セルから右方向にA B C D・・・と商品名が並んでいます。 ・記載されている商品名の重複はありません。 ・商品名の下には数が記載されています。 ・B4セルから下方向に日付が連続で記載されている。重複無 商品名の数だけシートを挿入し、挿入したシート名を商品名に変える。といった感じにしようかなと思っています。御指導の程宜しくお願い致します。

その他の回答 (1)

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

それで? 回答のマクロのそのままで出来ますが、まだやってみてないのですか? なら、とっとと手を動かしてください。 なんでも実際に手を動かしやってみてから、返答なり補足なり「ここがこうなって動かなかったよ」とか「もっとこうしたかったんだよ」とか、意味のある情報提供を書くようにしてください。 そうそう。 再掲; >C3てどこのC3? >with worksheets("シート名") あなたが今見てるシートの正しいシート名をここに正しく書きこんでくださいと、説明を丁寧に書いておくのを忘れてたのでごめんなさい。 間違いなくあなたのシート名をちゃんとマクロに記入してから、実行してください。大変失礼しました。

kero1192kero
質問者

お礼

すみませんでした。 家から出る直前に見てちょこちょこ書いただけです。貴重な時間を割いてくれたのに失礼な対応をし、又、気分を害してしまったみたいで大変申し訳ありませんでした。この返答を見るとかなり凹みます。思い通りの処理でした。これをベースにもう少し作ります。累計の記述も入れる予定です。

関連するQ&A