2013-09-24 89 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