隐藏/取消隐藏最后写入的行

时间:2012-11-06 12:55:34

标签: excel vba

我是VBA的新手。我想隐藏取消隐藏任何行中的所有行到表格的末尾。 我遇到的问题是我不知道如何编程隐藏最后写的行。 我使用下一个函数来知道写的最后一个单元格,但我不知道在Hide函数中放入哪里。

last = Range("A100000").End(xlUp).Row
非常感谢,任何帮助都会感激不尽。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

你可以;

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

ActiveSheet.Rows(startRow & ":" & lastRow).Hidden = True