2013-09-24 92 views
1

我有以下代码,简单地删除在Excel中的范围..但我不知道为什么,如果你点击按钮删除选定的范围它发生整个范围删除,我不知道不知道为什么。你能帮助我在此先感谢删除excel中的选定范围

Private Sub cmdDel_Click() 
    cmdEdit.Enabled = False: cmdAdd.Enabled = False 
    cmdClose.Caption = "CANCEL" 
    If MsgBox("Delete this record?", vbYesNo + vbQuestion, "Message") = vbYes Then 
     Range("A" & r & ":" & "V" & r).Delete 

     r = 0 
     MsgBox "Record deleted!", vbExclamation, "Message" 
    End If 
    Call UserForm_Activate 
End Sub 
+0

请确认'Range(“A”&r&“:”&“V”&r).Delete“行被执行的点的值。我怀疑它是零,这将导致下面的Siddharth Rout给出的答案。 – ChrisProsser

+0

你在哪里输入r,如果你选择了一个范围,r会变成什么?这只会在r初始化时删除一行。 –

回答

1

很简单,因为r值是0,因此您的字符串实际上变成

Range("A:V").Delete 

删除之前设置的r值,问题就会消失

另外,如果您正在手动选择范围并删除范围,请使用此

Selection.Delete