| 
    
     |  | Worksheets("名簿")のB列に入力した値とWorksheets("データ")のA列の値を比較 して、Worksheets("名簿")にコピーし作業員名簿を作成しています。
 
 Worksheets("名簿")
 A  B C D   E     F
 1       雇入年月日
 2  氏名   経験年数
 3
 4
 5
 6
 
 結合セル
 B列 B3.B4.B5.B6
 E列 E3.E4 と E5.E6
 以下同様のパターンで繰り返します。
 
 Worksheets("データ")
 A  B  C  D   E     F
 1  氏名     雇入年月日 経験年数
 2
 3
 
 Private Sub Worksheet_Change(ByVal Target As Range)
 Dim x As Variant
 Dim Ws As Variant
 
 Set Ws = Worksheets("データ")
 With Target
 If .Column <> 2 Then Exit Sub
 If .Row < 3 Then Exit Sub
 If .Count > 1 Then Exit Sub
 End With
 With Application
 .EnableEvents = False
 x = .Match(Target.Value, Ws.Range("A:A"), 0)
 End With
 With Target
 On Error Resume Next
 .Resize(, 4).Value = Ws.Cells(x, 2).Resize(, 4).Value
 .Offset(2, 3).Value = Ws.Cells(x, 6).Value
 On Error GoTo 0
 End With
 Application.EnableEvents = True
 End Sub
 
 上記のマクロを実行した所、E5.E6結合セルに経験年数がコピーされません。
 作業員名簿の表は業界統一様式の為変更も出来ず、苦慮しております。
 宜しくお願いいたします。
 
 |  |