1

コード行を使用して最後の行を見つけます

  lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row

xlDown の概念的な理解を新たにしています。以下に追加するように、シート 1 の列 B のデータを参照します。

xldown_issue1

End(xlDown) についての私の理解は、空のセルの前に最後に使用されたセルをトップダウンで検索することです。その概念は、Ctrl キーを押しながら押すことでシミュレートできます。空白が混在するデータを含む列を強調表示して ctrl を押すと、最初の空白セルの前のセルに移動します。列 B シート 1 で ctrl を押すと、B2 に移動し、次に B18 に移動します。しかし、次のコード スニペットを使用すると、最後の行が 1048576 になります。

xldown_issue2

このコード スニペットはどのようなロジックに従っていますか? この些細な問題を明確にするために、誰でも説明できますか。

4

1 に答える 1

2

を削除しても、同じ結果が得られます.End()

lastRow = .Cells(.Rows.Count, "B").Row

これは、ws.Cells(ws.Rows.Count, "B")がすでにB列の最後の可能なセルであるためです。それを呼び出す.End()ことは許可されていますが、行く場所がないため何もしません。

そうでなければあなたの理解は正しいです。

于 2015-11-27T16:39:44.977 に答える