初めての店舗開業を成功させよう>>

EXCEL2000のマクロを使用して以下のようなことをやりたいと考えています。
VBAに記載するコードを教えていただけますでしょうか。
●シート構成
1.データシート
A列:各データを識別するコード(3桁で000、001等)
B列:氏名
C列:年齢
D列:性別

2.入力シート
A列:各データを識別するコード(3桁で000、001等)
B列:氏名
C列:年齢

●やりたいこと
1.「入力シート」に識別コードをふり、データを入力しています。
2.そのデータとは別に、「データシート」にもデータを入力しています。
3.「データシート」に存在するデータに関しては、入力シート上のA列:識別コードと同じデータのB列:氏名とC列:年齢を、「入力シート」上のそれぞれの列に上書きします。
4.「データシート」に存在しないデータに関しては、「入力シート」上に存在するデータをそのまま残します。

マクロを作動させると、上記一連の作業が完了するようにできればと考えています。

まとめますと、「データシート」上にデータが存在すればそれを「入力シート」上に表示し、存在しなければ「入力シート」のデータをそのまま表示するというような仕組みにできればと考えています。

ご回答よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

> VBAのコードを教えてください



こういう質問の仕方は、余り関心しませんね。
丸投げ ですもんね。
今後、VBAを習得するのであれば、まず自分で考え、うまく行かなかった部分を
質問するよう、お勧めします。

一応、入力後に、まとめて突合せを行なうのであれば、こんな感じです。

Sub test()
Dim WS1 As Worksheet
Dim WS2 As Worksheet
Dim Rng As Range
Dim FndRng As Range
Set WS1 = Worksheets("データシート")
Set WS2 = Worksheets("入力シート")
For Each Rng In WS2.Range("A2", WS2.Range("A65536").End(xlUp))
  If Not IsEmpty(Rng) Then
    Set FndRng = WS1.Range("A:A").Find(Rng.Value, lookat:=xlWhole)
    If Not FndRng Is Nothing Then
      Rng.Offset(, 1).Value = FndRng.Offset(, 1).Value
      Rng.Offset(, 2).Value = FndRng.Offset(, 2).Value
    End If
  End If
Next Rng
End Sub
    • good
    • 0
この回答へのお礼

おっしゃる通りでございます。
大変失礼いたしましたm(__)m

ありがとうございました。

お礼日時:2005/04/22 13:35

データシートに存在しないデータとは、何を基準に判断するのですか?


 1.識別コード
 2.名前
 3.祖貴別コードと名前の組み合わせ
マクロはどの段階で実行されるのですか?
 1.識別コードなど、判断用キーデータが入力された時点
 2.すべて入力後
入力シートにあってデータシートにないデータは、データシートに転記するの
ですか?
    • good
    • 0
この回答へのお礼

No.1の方がおっしゃる通り、漠然とした質問をしすぎてしまったようです。申し訳ありません。

またあらためて質問させていただきます。
ありがとうございました。

お礼日時:2005/04/22 13:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング