質問: Excelマクロvbaの質問です。2つのbook(検索)と(データ)を作り検索bookから検索、更新、追加、削除を行うとデータbookの内容が書き換わるものです。
回答: B1にしか入力がない状態で Range("B1").End(xlDown).Row をすると、取得できるのはExcel行数上限(つまり最下行)の 1048576 です。これに+1しちゃうと「存在しない行番号」になりますが、そこらへんは大丈夫でしょうか? コレが原因ならば End(xlUp) を使うか、 If last_row = 1048576 Then last_row = 2 を追加等の対処が必要ですね。