2013-09-24 2 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 행이 실행되는 지점에서 r의 값을 확인하십시오. 나는 그것이 0 인 것으로 의심한다. 그것은 Siddharth Rout가 주어진 답변을 이끌 것이다. – ChrisProsser

+0

어디에서 r을 입력하고 범위를 선택하면 r은 어떻게됩니까? r이 초기화되면 한 행만 삭제됩니다. –

답변

1

r의 값이 0 그래서 당신의 문자열이 실제로

Range("A:V").Delete 

을 삭제하기 전에 r의 값을 설정되고 문제가 해결

갈 것이기 때문에 그것은 간단합니다

범위를 수동으로 선택하고 범위를 삭제하는 경우 다음을 사용하십시오.

Selection.Delete 
관련 문제