質問: 行数 + 1 loop end sub
回答: コードがものすごくわかりづらいけれど、 > do until isempty(cells(行数, 3).value) たぶんこれが原因だと思う。 ここで言っている "cells" がどのブックのどのシートの "cells" として処理されるかご存知か? おそらくあなたがイメージしているブック & シートとは違うところにあるセルを読み込もうとしているのだと思う。 その結果、コピー対象となるシート名じゃない値が変数 "コピー元" に入ってしまい、存在しない名前のシートをコピーしようとしてエラーになる、と。