Доброго времени суток.
Стоит задача, проставлять галочки напротив строк, которые необходимо удалять, нажимать кнопку для запуска макроса и отмеченные строки нужно удалить из таблицы в БД. Я в VBA не силен... Пожалуйста помогите... Взял по аналогии вот такой чужой код, попытался переделать под себя, но выдает ошибку на строке
arr(i) = sn.Cells(t, 9)
Run-time error '6':
Overflow
Файл с таблицей приложил, код ниже и в самом файле
Стоит задача, проставлять галочки напротив строк, которые необходимо удалять, нажимать кнопку для запуска макроса и отмеченные строки нужно удалить из таблицы в БД. Я в VBA не силен... Пожалуйста помогите... Взял по аналогии вот такой чужой код, попытался переделать под себя, но выдает ошибку на строке
arr(i) = sn.Cells(t, 9)
Run-time error '6':
Overflow
Файл с таблицей приложил, код ниже и в самом файле
Код |
---|
Global sn Global PosStr As Integer Sub deletrs() 'удаление записей Dim i, t As Integer Dim cn As New ADODB.Connection Dim rs As ADODB.Recordset Set sn = ThisWorkbook.Sheets("test") PosStr = sn.Cells(6, 3).End(xlDown).Row t = 6 i = 1 Dim arr() As Integer ReDim arr(1 To i) As Integer For t = 6 To PosStr If IsEmpty(sn.Cells(t, 1)) = False Then arr(i) = sn.Cells(t, 9) i = i + 1 End If Next cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=******;Password=******;Data Source=ahdb1c;Use Procedure for Prepare=1;Auto Translate=True" cn.Open 'открываем recordset Set rs = CreateObject("ADODB.Recordset") rs.cursortype = adOpenKeyset rs.locktype = adLockOptimistic rs.Open "select * from baza.dbo.mog_корректировка_бюджета_copy", cn i = 1 For i = LBound(arr) To UBound(arr) rs.Find "id=" & arr(i) rs.Delete rs.movenext Next PosStr = Empty MsgBox ("Данные удалены") End Sub |