私はVBAを初めて使用します。任意の行からシートの最後までのすべての行を非表示にしたいのですが。私が抱えている問題は、最後に書かれた行から隠すようにプログラムする方法がわからないことです。次の関数を使用して最後に書き込まれたセルを確認しましたが、非表示関数をどこに配置すればよいかわかりません。
last = Range("A100000").End(xlUp).Row
どうもありがとう、どんな助けもありがたいです。
これを試してください。これにより、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
あなたは出来る;
Dim startRow As Long: startRow = 10
Dim lastRow As Long: lastRow = ActiveSheet.UsedRange.Rows.Count
ActiveSheet.Rows(startRow & ":" & lastRow).Hidden = True