| 
    
     |  | β様 
 ご説明して頂いた内容により、ほぼ内容を理解することが出来ました。
 有難うございます!!
 
 
 With Range(Cells(1, col), Cells(Rows.Count, col).End(xlUp)).Resize(, 3)
 adr1 = .Cells(1).Address(False, True)
 .Columns("B:C").Formula = "=IFERROR(VLOOKUP(" & adr1 & "," & adr0 & ",COLUMN(B1),FALSE),""登録なし"")"
 
 ------------------------------------------------------------------------
 下記最後の行ですが、
 .Value = .Value
 
 これは下記内容になると思います。
 Range(Cells(1, col), Cells(Rows.Count, col).End(xlUp)).Resize(, 3).Value
 = Range(Cells(1, col), Cells(Rows.Count, col).End(xlUp)).Resize(, 3).Value
 
 この行の導入されていなければ、エクセルの対象セルに
 IFERROR(VLOOKUP($I5,$A$1:$C$12,COLUMN(C5),FALSE),"登録なし")の式が
 記載され、行が導入されると式が記載されません。
 
 I1:K20までのセルにデータを転送した後になるので、
 K1:M20までの範囲の値 = K1:M20までの範囲の値となると思います(つまり空欄)。
 これがなぜ、式の記載有り、記載無しに影響を与えるのでしょうか?
 
 何度も申し訳御座いません。
 
 以上
 
 |  |