我写了一些简单的VBA代码,当按下按钮时,它只删除工作表中的三列。
按下按钮时,将删除列。这部分工作正常。我想要做的是通过Excel中的STOCK撤消按钮使此操作可以反转。目前,删除这些行不能通过任何方式(我所知)撤消,这意味着如果按下事故按钮,则必须退出并重新打开该表。
这是我目前的代码,请随时批评它,虽然我正在学习,但我对VBA最佳实践并不十分熟悉。
Private Sub CommandButton1_Click()
Dim Alias_Adds As Worksheet
Set Alias_Adds = Sheets("Alias_Adds")
MSG1 = MsgBox("Are you ready to delete the validation columns? (A, F, and G?)", vbYesNo, "")
If MSG1 = vbYes Then
With Alias_Adds
Alias_Adds.Columns("A").EntireColumn.Delete 'this is the line that is cauing the error
Alias_Adds.Columns("E:F").EntireColumn.Delete
End With
Else
MsgBox "Ok, let's wait a bit to delete those columns"
End If
End Sub
答案 0 :(得分:0)
由于Excel VBA不支持其自身操作的通用撤消,因此您必须在您的逻辑中构建安全功能。
首先将它们复制到未使用的位置,而不是简单地删除列。然后可以在以后检索数据。