| 
    
     |  | ▼やっちん さん: 
 アドバイスのとおりFINDを使うにはソートしなくてはいけないとのことで、
 ちょっとむずかしいので下記のようなロジックを書いてみました。
 現場勤務表.xlsの45列目に、文字列の中身を判断することなしに転記してるつもりです。
 ですが、Nextに対するforがありませんと出ます。
 どこが悪いか教えてください。
 
 Sub Getumatsu()
 
 Dim SH1 As Worksheet
 Dim SH2 As Worksheet
 Dim MyRow1 As Long
 Dim MyRow2 As Long
 Dim MyVal1 As String
 Dim MyVal2 As String
 
 Workbooks("現場勤務表.xls").Activate
 Workbooks("本部勤務表.xls").Activate
 Set SH1 = Workbooks("現場勤務表.xls").Worksheets("200511")
 Set SH2 = Workbooks("本部勤務表.xls").Worksheets("Sheet1")
 
 MyRow1 = SH1.Range("A65536").End(xlUp).Row
 MyRow2 = SH1.Range("A65536").End(xlUp).Row
 
 For i = 5 To MyRow1
 MyVal1 = SH1.Cells(i, 1)
 For j = 5 To MyRow1
 MyVal2 = SH2.Cells(j, 1)
 If MyVal1 = MyVal2 Then
 SH1.Cells(i, 45) = SH2.Cells(j, 5)
 If IsEmpty(MyVal1) Then Exit Sub
 Next j
 Next i
 
 End Sub
 
 |  |