プロが教える店舗&オフィスのセキュリティ対策術

Sheet1
a1 b1 c1 d1 e1 f1 g1
社員No 日付 商品コード 販売個数 顧客No 請求月 売上
106092 2009/2/2(月) A-1010 89 C202 2009/4/30 3,560
106093 2009/2/2(月) B-1050 527 C384 2009/3/31 68,510
106094 2009/2/2(月) C-1050 819 C384 2009/3/31 114,660
106095 2009/2/2(月) C-1080 662 C202 2009/4/30 66,200
106096 2009/2/2(月) C-1080 160 C499 2009/4/30 16,000
106097 2009/2/2(月) D-1050 815 C202 2009/4/30 97,800
106098 2009/2/2(月) B-1090 373 C165 2009/3/31 41,030
106099 2009/2/2(月) B-1020 62 C165 2009/3/31 6,200

sheet2
a1 a2 a7 c10 c11 c12 d15
社員No 日付 商品コード 販売個数 顧客No 請求月 売上
106092 2009/2/2(月) A-1010 89 C202 2009/4/30 3,560
106093 2009/2/2(月) B-1050 527 C384 2009/3/31 68,510
106094 2009/2/2(月) C-1050 819 C384 2009/3/31 114,660
106095 2009/2/2(月) C-1080 662 C202 2009/4/30 66,200
106096 2009/2/2(月) C-1080 160 C499 2009/4/30 16,000
106097 2009/2/2(月) D-1050 815 C202 2009/4/30 97,800
106098 2009/2/2(月) B-1090 373 C165 2009/3/31 41,030
106099

社員Noを入力すると上記のように指定されたせるにデータを転記することは可能でしょうか
106099 をに入力すると

a1 a2 a7 c10 c11 c12 d15
106099 2009/2/2(月) B-1020 62 C165 2009/3/31 6,200
できる方いますでしょぅ

質問者からの補足コメント

  • どう思う?

    いつも有難うございます。
    大変申し訳ございません
    間違ってしまいました。
    Sheet 1
     A列    B列 C列    D列   E列      F列 G列
    社員No  日付   商品コード 販売個数 顧客No   請求月      売上
    106099 2009/2/2(月) B-1020  62   C165    2009/3/31   6,200

    Sheet 2
     A列    B列 F列    G列   H列      K列 N列
    社員No  日付   商品コード 販売個数 顧客No   請求月      売上
    106099 2009/2/2(月) B-1020  62   C165    2009/3/31   6,200

    No.1の回答に寄せられた補足コメントです。 補足日時:2018/04/01 13:58

A 回答 (2件)

シート2のシートモジュールに。



Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("A2", Cells(Rows.Count, 1))) Is Nothing Then Exit Sub
If Target.Value = "" Then Exit Sub

Dim r1 As Range
Dim r2 As Range
Dim rr As Range

With Worksheets("Sheet1")
Set rr = .Range("A2", .Cells(Rows.Count, 1).End(xlUp))
Set r2 = Target
Set r1 = rr.Find(r2.Value, LookIn:=xlValues, LookAt:=xlWhole)

If Not r1 Is Nothing Then
r1.Range("B1").Copy r2.Range("B1")
r1.Range("C1:E1").Copy r2.Range("F1")
r1.Range("F1").Copy r2.Range("K1")
r1.Range("G1").Copy r2.Range("N1")
Else
MsgBox ("検索値【" & r2.Value & "】は見つかりませんでした")
End If

End With
Set rr = Nothing
Set r2 = Nothing
Set r1 = Nothing
End Sub
    • good
    • 0

単純に質問の文章通りにってなら可能でしょう。


しかし提示されているデータリスト通りとはいきません。
転記先のセルと提示されている表を見比べたらわかりますよね?(セルアドレスの記載ミスって事なら別ですけど)

でも実際シート1とシート2は同じようにしか見えないし、『どこに入力した値を基にすればよいのか?』ちょっと不明です。
やるのならFindメソッドで検索って感じでしょうかね。(重複する値ではないのなら)
この回答への補足あり
    • good
    • 0
この回答へのお礼

いつも有難うございます。

お礼日時:2018/04/01 22:27

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