1

Activesheetから空白のセルを削除した後、lastRow を再カウントするにはどうすればよいActivesheetですか?新しい lastRow 変数を上限として取得できますか? 私のデータは Web クエリから取得されました。

例:

  1. データ ソース: http://en.wikipedia.org/wiki/Polar_bear
  2. インポート後の行数: 1360
  3. 空白セルを削除した後の行数: 650

しかし、ActiveSheet更新されておらず、lastRow が 650 に更新されていないため、それらを更新してほしい

4

1 に答える 1

1

これは VBA for Excel を作成する際の一般的な要件であるため、他のプロジェクトで再利用できる関数を作成することをお勧めします。次に例を示します。

Function get_end_row(ByVal column_with_data As Long) As Long
Dim last_row As Long

last_row = ThisWorkbook.ActiveSheet.Rows.Count


get_end_row = ThisWorkbook.ActiveSheet.Cells(last_row, column_with_data).End(xlUp).Row
''Note: in the line of code above you can replace xlUp with its hexidecimal value -> &HFFFFEFBE
''This will ensure the function works in other versions of Excel    

End Function

関数の呼び出し方法の例を次に示します。

Sub my_routine()
Dim endRow As Long

''The 1 being passed in the argument below is the first column number that your data is in
endRow = get_end_row(1)

Msgbox endRow

End Sub

あなたの場合、行を削除した後に get_end_row() 関数を呼び出すようにしてください。

于 2013-03-02T17:40:05.370 に答える