2015-09-12 247 views
-2

空行我已數據的兩列被拉入從上其他地方的通過在每個單元中一個式工作簿其它紙張數據的工作表...隱藏/取消隱藏細胞上Worksheet_Change

第一列列A具有「是」,「否」或從通過另一工作表中的公式拉入的數據中爲空。

第二列B列也有從其他地方拉入的數據,但每行都有數據。

我希望做的是隱藏在列A中沒有任何內容的任何行。列A中包含數據的任何行都應該是可見的。我希望通過使用VBA的工作表更改事件來更新數據,當輸入數據時出現在列A中。

非常感謝您能否提供幫助。

+0

請告訴我們你試過了什麼?如果你還沒有嘗試任何東西[這](http://stackoverflow.com/questions/13860894/ms-excel-crashes-when-vba-code-runs/13861640#13861640)會讓你開始。用你試過的代碼發回來,我們會從那裏拿... –

+0

我還沒有嘗試過任何東西。我已經使用worksheet_change函數來創建一個時間戳記,當一個單元格被更新時,除此之外,什麼都沒有。 – Andy

+0

我在下面添加了我自己的回覆... – Andy

回答

0
Private Sub Worksheet_Change(ByVal Target As Range) 
     If Intersect(Target, Me.Range("A:A")) Is Nothing Then Exit Sub 
     Application.EnableEvents = False 
dim lrow as Integer 
dim i as Integer 
    lrow = Cells(1, 2).End(xlDown).Row 
    For i = 1 To lrow 
    If Cells(i, 1) = 0 Then 
    Rows(i).Select 
    Selection.EntireRow.Hidden = True 
    End If 
    Next 
     Application.EnableEvents = True 
    End Sub 

您必須在表單的代碼中插入此代碼。右鍵單擊工作表名稱並按查看代碼並將其保存爲宏啓用。 當對列a進行更改時,它會被激活。

+0

這裏有兩個問題......對列A進行了更改,B中的每一行都已經有數據。而且由於數據是從其他地方提取的,因此它在每個單元格中都有一個公式。通過「隱藏A列中沒有任何內容的任何行」,我的意思是任何不在0以上的結果。如果公式不返回任何內容,它將返回0。 – Andy

+0

您在NP中寫過,是,否,或空白。更正了你的評論,現在就試試吧。 – Balinti

+0

我似乎無法得到這個工作,對不起。 – Andy