2

私はVBAを初めて使用します。任意の行からシートの最後までのすべての行を非表示にしたいのですが。私が抱えている問題は、最後に書かれた行から隠すようにプログラムする方法がわからないことです。次の関数を使用して最後に書き込まれたセルを確認しましたが、非表示関数をどこに配置すればよいかわかりません。

last = Range("A100000").End(xlUp).Row

どうもありがとう、どんな助けもありがたいです。

4

2 に答える 2

1

これを試してください。これにより、colAの最後の値が検索され、A1からLastRowまでのすべての行が非表示になります。

Sub test()

   'Hides all rows with data
   LastRow = Cells(Rows.Count, "A").End(xlUp).Row
   Range("A1:A" & LastRow).EntireRow.Hidden = True 'to unhide set to False

   'Hides last row until the end of the sheet
   LastRow = Cells(Rows.Count, "B").End(xlUp).Row
   Range("B" & LastRow + 1 & ":B1048576").EntireRow.Hidden = True 'to unhide set to False

   'Hides last row + 1 until the end of the sheet
   LastRow = Cells(Rows.Count, "B").End(xlUp).Row
   Range("B" & LastRow + 1 & ":B1048576").EntireRow.Hidden = True 'to unhide set to False

End Sub

コードに関する追加情報

A1からA10までのデータがあるとしましょう

LastRow = Cells(Rows.Count, "A").End(xlUp).Row
'we use this to get the lastrow number, in this case it will be 10
'the code is variable, so if we add data until A15, lastrow will become 15

Range("A1:A" & LastRow)
'this is the range that will be hidden A1 until A10
于 2012-11-06T13:37:04.977 に答える
1

あなたは出来る;

Dim startRow As Long: startRow = 10
Dim lastRow  As Long: lastRow = ActiveSheet.UsedRange.Rows.Count

ActiveSheet.Rows(startRow & ":" & lastRow).Hidden = True
于 2012-11-06T13:45:19.400 に答える