2012-07-27 39 views
2

我有一個工作表,其中第2行是隱藏的。一個宏粘貼到這一行。每當我運行這個宏時,隱藏的行會重新出現。運行宏後隱藏行「unhides」

有沒有辦法阻止行再次出現?

這是我的代碼它仍然是取消隱藏行2

子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 =真 ApplicationScreenUpdating =真

End Sub 

回答

2

假設要隱藏的行是一個名爲 「Sheet 1中」 下面的行的片代碼將隱藏該行:

Sheets("Sheet1").Rows("2:2").EntireRow.Hidden = True 
+0

謝謝你的幫助我會在星期一回去工作時嘗試。 – user1551203 2012-07-27 14:59:11

1

沒有看到您的代碼,我們無法確定是什麼讓Row2顯示。但是如果你想在不實際解決原因的情況下不顯示,你可以執行以下操作:

在宏的開始處插入Application.ScreenUpdating = false

在這個替換[SHEETNAME]爲您的工作表的實際名稱宏插入結束

然後:

Sheets("[SheetName]").Rows("2:2").EntireRow.Hidden = True 
Application.ScreenUpdating = true 

這樣的行會再次隱藏它更新你的屏幕前,它會就像它從未發生過。

3

這取決於你如何粘貼該行。

如果你這樣做

Sheet1.Rows(2).Copy Sheet2.Rows(5) 

凡第5行被隱藏,然後粘貼後會取消隱藏。這樣做的原因是因爲第5行繼承了第2行的屬性。

如果使用粘貼特殊則不會。看到這個例子

Sheet1.Rows(2).Copy 
Sheet2.Rows(5).PasteSpecial xlValues 

如果你想要做的PasteAll(方案1),那麼你將不得不再次隱藏的行與其他第二一段代碼繼續。

+0

+1唯一一篇文章解釋了爲什麼會發生這種情況,以及如何防止它發生。 – 2012-07-27 15:21:41

+0

感謝這似乎是最好的答案。將使用粘貼特殊代碼。 – user1551203 2012-07-27 15:48:53