みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

vba初心者です。どなたか教えて下さい。

  独学でエクセルVBAを勉強している熟年おじさんです。
 色んな参考例を見ながらヒントになる事例を探していますが、中々、似た例が見つからず
 困っています。手がかりでも掴めたらと思います。どなたかご指導下さい。

  同一BOOK内の2つのシートに同じ行と列に同じ項目内容が入っています。その一枚目のシートの行と列を検索して同じ行と列に該当するデータを、二枚目のシートの同じ行列のセルにコピーするのです。

  それだけのことですが、もうひとつの条件は、一枚目のシートには毎日新しいデータが入ってきて
 その二枚目シートのデータを日単位で色分けしたいのです。従って、二枚目のシートには、日単位で 空いているセルにデータが蓄積されていき、空白セルが埋め尽くされていきます。

  この場合、各シートのデータが同一セルにダブルことは絶対にありません。

一枚目シート                 二枚目シート
    行⇒ A B C D E F G          行⇒ A B C D E F G
列 A1 2 6 1 9 23 7 90          列A1 2 6 1 9 23 7 90  
  B5 11 8 18 34 67 9 34          B5 11 8 18 34 67 9 34
   C9                       C9
  U9                        U9  ・・・翌日データ追加・・・
   P5                        P5
      
上記はシートイメージですが、行は品名で列は工程名で、中のデータは測定値です。
   2枚のシートには全く同じ品名と工程名が入っていて、毎日、入ってくる一枚目シートには
   その日のデータしか入ってきません。それを、二枚目のシートの空いたセルにコピーして
   いきます。データは毎日追加すのですが、同一セルにダブルことはありません。
   以上よろしくお願いします。

投稿日時 - 2012-09-02 22:49:58

QNo.7677523

困ってます

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

>御親切にありがとうございます。こんなに簡単な構成でできるのですね。
>本当の初心者ですから間違っているかもしれませんが、繰り返す毎に前に入っているデータを空白セルで>上書きしてしまう心配はありませんか?データが入っているセルだけにコピーできるのですか?

もちろん
単純にやったら、空白セルだろうが、データが入っていようが上書きします。

それは実情に合わせてというか、質問者の意図に合わせて、
コピーする前に判定を入れるとか必要かもしれません。


勉強中ということなので、いろいろ試行錯誤してみてください。

投稿日時 - 2012-09-05 18:24:35

お礼

ありがとうございます。
for nextでぐるぐる回す中にIf構文で「もしそのセルに数値が入っていたら(アクティブだったら)そのセルは置き換えないというようにすればいいのですね。

投稿日時 - 2012-09-06 23:29:04

ANo.1

基本的には

セルのコピーは

Worksheets("二枚目のシート").Cells(a,b).Value = Worksheets("一枚目のシート").Cells(a,b).Value

という感じでできますので、
for next でぐるぐるまわしてください。

ちなみに
a は 行番号(1~)
b は 列番号(1~)

あと実情に合わせてやってみてください。

投稿日時 - 2012-09-03 07:33:25

お礼

御親切にありがとうございます。こんなに簡単な構成でできるのですね。
本当の初心者ですから間違っているかもしれませんが、繰り返す毎に前に入っているデータを空白セルで上書きしてしまう心配はありませんか?データが入っているセルだけにコピーできるのですか?

投稿日時 - 2012-09-05 17:19:58

あなたにオススメの質問