添加或删除新行时,VBA参考单元格不会更改

时间:2018-10-30 06:21:46

标签: vba

Private Sub Worksheet_Activate()    
If Range("K59").value = 0 Then    
Columns("K").EntireColumn.Hidden = True    
Else    
   Columns("K").EntireColumn.Hidden = False    
End If    
End Sub    

“先生,我有以下代码,其中单元格K59的总和值为K3到K50。它为零,如果K59具有某些值,则列隐藏和取消隐藏列。但是当我在excel中添加或删除行时,则我的总计将出现在K60或K58中,但是在VBA中它仅是状态为K59。当行删除或添加到excel中时,此引用“ K59”如何自动更改”

2 个答案:

答案 0 :(得分:0)

如果要在K列中找到最后一个非空白单元格,可以使用此选项:

lastRow = Cells(Rows.Count, "K").End(xlUp).Row

答案 1 :(得分:0)

您可以使用以下代码动态引用单元格

Private Sub Worksheet_Activate()
If Range("K65000").End(xlUp).Value = 0 Then
Columns("K").EntireColumn.Hidden = True
Else
Columns("K").EntireColumn.Hidden = False
End If
End Sub