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

Подтвердите значение для r в точке, в которой выполняется строка 'Range (« A »& r &«: »&« V »& r .Delete'. Я подозреваю, что он равен нулю, что приведет к ответу, приведенному ниже в Siddharth Rout. – ChrisProsser

+0

Где вы вводите r, и если вы выберете диапазон, который станет r? Это приведет к удалению только одной строки после инициализации r. –

ответ

1

Это просто потому, что значение r является 0, так ваша строка фактически становится

Range("A:V").Delete 

Установите значение r перед удалением и проблема исчезнет

Также, если вы вручную выбираете диапазон и удаляете диапазон, используйте это

Selection.Delete 
Смежные вопросы