2017-07-22 159 views
-1

我是VBA新手,仍在學習。我試圖完成的事情似乎很容易,但有困難。我需要編寫一個宏,當某個日期(任何日期)輸入到特定列的單元格中時,它會自動隱藏一行。當特定列單元格中輸入日期時Excel宏自動隱藏行

E.g.數據記錄在列A:F中。當「運送」日期輸入到G2中時,第2行自動隱藏。

任何幫助將不勝感激。

謝謝。

MCJ

+0

燦你請添加一個代碼示例? –

回答

0

下面的VBA代碼將隱藏相關聯的行,如果在列「G」的小區零和當前日期之間編輯和改變爲日期(數目):

Option Explicit 

Private lastSelectedCell As Range 

Private Sub Worksheet_Activate() 
    Set lastSelectedCell = Range("A1") 
End Sub 

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    ' If the most recently selected cell was in column 6 ('G') 
    If (lastSelectedCell.Column = 6) Then 
     ' If the previously selected cell was a date on or before today 
     If ((lastSelectedCell.Value <= Date) And (lastSelectedCell.Value > 0)) Then 
      ' Hide the entire row 
      Rows(lastSelectedCell.Row).EntireRow.Hidden = True 
     End If 
    End If 
    Set lastSelectedCell = Target 
End Sub 
+0

感謝您的快速響應。但它不起作用。說:「如果(lastSelectedCell.Column = 6)然後」= <對象變量或塊變量未設置「我再次在這個新的,所以任何幫助非常感謝。 –

+0

@MCJ'Worksheet_Activate()'方法需要運行以初始化'lastSelectedCell'變量。嘗試保存並重新打開'.xlsm'文件,錯誤應該消失。 – VirtualMichael

相關問題