• 締切済み

【Excel2007】 条件に合うセルをコピぺしたい 

すみません、調べても解決できなかったのでご教授のほどお願いいたします。見積・内訳明細を作っていて壁に激突しました。 たとえば、sheet2のA1セルに【小計】という文字が入っているとして、その隣のセル(B2になります)に【小計】の計算結果を表示させていたとします ex)  A1     B2   【小計】   500,000 このB2の数字をsheet1のA3のセルに表示をさせたいのです。 ただし、A列のどのセルに【小計】が入るかわからないし、何個くらい小計が入るのかもわからないのです。 今まではcountIFやVLOOKUPを使ってやっていたのですが、見積作成時に途中行を削除したり、挿入したりとちょこちょこシートをいじっていしまい、計算式が消えたりして、その都度の確認作業に時間がかかってしまって・・。 VBAでやらなきゃむりかも・・と思ってコーディングを試してみたりしたんですが、なにせVBA勉強中で・・エラーばかりで参ってしまいました(汗 どなたか、おしえてください!!お願いたします<m(__)m><m(__)m>

みんなの回答

  • kuma56
  • ベストアンサー率31% (1423/4527)
回答No.1

VBA勉強中ならば、こういうアドバイスでもいいのかな?? つまりやりたいのは、 A列のセル(仮にA1)を確認して、それが【小計】だったら、一列右の一行下(仮にB2)のデータをコピーして、二行下(仮にA3)に貼り付ける。 ただし、A列の【小計】がどこにはいるか分からないのでそれを探さなくてはならない。 さらに、【小計】が一箇所とも限らない。 つまり、A列のデータを見て【小計】ならコピー&ペーストしてその下のセルに移動する、違えばその下のセルに移動する。 これをA列のデータがなくなるまで(【小計】がなくなるまで)繰り返してやれば良いのでは? となると、 A1セルを選択 Do A列のデータがなくなるまで(【小計】がなくなるまで) If 選択したセルの値が【小計】 Then   選択したセルの一列右の一行下のデータをコピーして、二行下に貼り付ける。 EndIf   その下のセルに移動する。 Loop こんな内容で、きちんとしたVBAの構文にしてみたらよいのでは?

yuko1
質問者

お礼

回答ありがとうございます。お礼が遅くなって申し訳ありません<m(__)m> DO LOOP/ IF THEN を使うのだろうというところまでは調べて、何となく分ってはいたのですが、エラーが出るということはその間の構文がおかしいのでしょうね・・・ アドバイスいただいた形を頭に置いて、もう少し考えてみたいと思います。 ありがとうございました!(*^_^*)

すると、全ての回答が全文表示されます。

関連するQ&A