运行macros后隐藏行“取消隐藏”
我有一个工作表,其中行2是隐藏的。 一个macros粘贴到这一行。 每当我运行这个macros,隐藏的行重新出现。
有没有办法防止行重新出现?
这是我的代码,它仍然是取消隐藏第2行
Sub Update2029()
Dim LSearchRow As Integer Dim LCopyToRow As Integer Dim LSearchValue As String On Error GoTo Err_Execute Application.ScreenUpdating = False LSearchValue = InputBox("Please enter a serial number to search for.", "Enter value") 'Start search in row 5 LSearchRow = 5 'Start copying data to row 2 in "Master" (row counter variable) LCopyToRow = 2 While Len(Range("A" & CStr(LSearchRow)).Value) > 0 'If value in column A = LSearchValue, copy entire row to "Master" If Range("A" & CStr(LSearchRow)).Value = LSearchValue Then 'Select row in "Master" to copy Rows(CStr(LSearchRow) & ":" & CStr(LSearchRow)).Select Selection.Copy 'Paste row into "Master" in row 2 Sheets("Master").Select Rows(CStr(LCopyToRow) & ":" & CStr(LCopyToRow)).Select ActiveSheet.PasteSpecial End If LSearchRow = LSearchRow + 1 Wend 'Position on cell A3 Application.CutCopyMode = False Range("A3").Select MsgBox "All matching data has been copied to 2029." Exit Sub
Err_Execute:MsgBox“发生错误”。 表(“主”)。行(“2:2”)。EntireRowHidden = True ApplicationScreenUpdating = True
End Sub
这取决于你如何粘贴在那一行。
如果你这样做
Sheet1.Rows(2).Copy Sheet2.Rows(5)
第5行隐藏,粘贴后将取消隐藏。 这是因为第5行inheritance了第2行的属性。
如果你使用粘贴特殊,那么它不会。 看到这个例子
Sheet1.Rows(2).Copy Sheet2.Rows(5).PasteSpecial xlValues
如果你想做PasteAll(场景1),那么你将不得不隐藏行,否则继续第二段代码。
假设要隐藏的行位于名为“Sheet1”的工作表上,以下代码行将隐藏该行:
Sheets("Sheet1").Rows("2:2").EntireRow.Hidden = True
在没有看到你的代码的情况下,我们不知道是什么让Row2显示。 但是如果你不想实际解决问题的原因就不能显示,你可以这样做:
在macros的开始处插入Application.ScreenUpdating = false
。
然后在macros的末尾插入这个工作表的实际名称replace[SheetName]:
Sheets("[SheetName]").Rows("2:2").EntireRow.Hidden = True Application.ScreenUpdating = true
这样,在更新屏幕之前,行会再次隐藏,而且它将会像从未发生过一样。