Uso o código abaixo (by Tomás Vasquez) para apagar dados de uma planilha do Excel a partir do Access.
On Error GoTo Err_Excel
Dim AppExcel As Variant
Dim wbook As Variant
Dim wsheet As Variant
Set AppExcel = CreateObject("Excel.Application")
AppExcel.Workbooks.Open CurrentProject.Path & "\Form.xlsm", , True
AppExcel.Visible = True
Set wbook = AppExcel.Workbooks("\\Nato3\NATO_SERV\ConAccExcel\Form.xlsm")
AppExcel.ScreenUpdating = False
Range( _
"A7:A8;B7:B8;C7:C8;D7;D8;E7;E8;F7;F8;G7;G8;H7:H8;A10:C10;D10;E10:H10;A12:C12;D12:E12;F12:G12;H12;A14:D14;E14:H14;A16:H16;A17:H17;A19:B19;C19:E19;F19:H19" _
).Select
Range("F19").Activate
Union(Range( _
"G21;H21;A23;B23;C23;D23;E23;F23;G23;H23;A25;B25;C25;D25;E25;F25;G25;H25;A26;B26;C26;D26;E26;F26;G26;H26;A29;B29;C29;D29;E29;F29" _
), Range( _
"G29;H29;A31:H31;A32:H32;A7:A8;B7:B8;C7:C8;D7;D8;E7;E8;F7;F8;G7;G8;H7:H8;A10:C10;D10;E10:H10;A12:C12;D12:E12;F12:G12;H12;A14:D14;E14:H14;A16:H16;A17:H17;A19:B19;C19:E19;F19:H19;A21;B21" _
), Range("C21;D21;E21;F21")).Select
Range("A32").Activate
Union(Range( _
"G21;H21;A23;B23;C23;D23;E23;F23;G23;H23;A25;B25;C25;D25;E25;F25;G25;H25;A26;B26;C26;D26;E26;F26;G26;H26;A29;B29;C29;D29;E29;F29" _
), Range( _
"G29;H29;A31:H31;A32:H32;A35:B35;C35:E35;F35:H35;A37:H37;A38:H38;A39:H39;A7:A8;B7:B8;C7:C8;D7;D8;E7;E8;F7;F8;G7;G8;H7:H8;A10:C10;D10;E10:H10;A12:C12;D12:E12;F12:G12;H12;A14:D14;E14:H14;A16:H16" _
), Range("A17:H17;A19:B19;C19:E19;F19:H19;A21;B21;C21;D21;E21;F21")).Select
Range("A39").Activate
Selection.ClearContents
wbook.Saved = True
AppExcel.DisplayAlerts = False
AppExcel.Quit
Set AppExcel = Nothing
Set wbook = Nothing
Exit Sub
Err_Excel:
wbook.Saved = True
AppExcel.DisplayAlerts = False
AppExcel.Quit
Set AppExcel = Nothing
Set wbook = Nothing
MsgBox "Ocorreu algum problema no acesso à planilha do Excel. Contate o Administrador ", vbCritical
Exit Sub
Ocorre que quando o código é acionado a limpeza das células é realizada. Porém, quando volto ao formulário do Access está lá uma mensagem de erro dizendo que "o objeto é obrigatório" e no código está apontado o trecho
Err_Excel:
'wbook.Saved = True
Socorro!!
On Error GoTo Err_Excel
Dim AppExcel As Variant
Dim wbook As Variant
Dim wsheet As Variant
Set AppExcel = CreateObject("Excel.Application")
AppExcel.Workbooks.Open CurrentProject.Path & "\Form.xlsm", , True
AppExcel.Visible = True
Set wbook = AppExcel.Workbooks("\\Nato3\NATO_SERV\ConAccExcel\Form.xlsm")
AppExcel.ScreenUpdating = False
Range( _
"A7:A8;B7:B8;C7:C8;D7;D8;E7;E8;F7;F8;G7;G8;H7:H8;A10:C10;D10;E10:H10;A12:C12;D12:E12;F12:G12;H12;A14:D14;E14:H14;A16:H16;A17:H17;A19:B19;C19:E19;F19:H19" _
).Select
Range("F19").Activate
Union(Range( _
"G21;H21;A23;B23;C23;D23;E23;F23;G23;H23;A25;B25;C25;D25;E25;F25;G25;H25;A26;B26;C26;D26;E26;F26;G26;H26;A29;B29;C29;D29;E29;F29" _
), Range( _
"G29;H29;A31:H31;A32:H32;A7:A8;B7:B8;C7:C8;D7;D8;E7;E8;F7;F8;G7;G8;H7:H8;A10:C10;D10;E10:H10;A12:C12;D12:E12;F12:G12;H12;A14:D14;E14:H14;A16:H16;A17:H17;A19:B19;C19:E19;F19:H19;A21;B21" _
), Range("C21;D21;E21;F21")).Select
Range("A32").Activate
Union(Range( _
"G21;H21;A23;B23;C23;D23;E23;F23;G23;H23;A25;B25;C25;D25;E25;F25;G25;H25;A26;B26;C26;D26;E26;F26;G26;H26;A29;B29;C29;D29;E29;F29" _
), Range( _
"G29;H29;A31:H31;A32:H32;A35:B35;C35:E35;F35:H35;A37:H37;A38:H38;A39:H39;A7:A8;B7:B8;C7:C8;D7;D8;E7;E8;F7;F8;G7;G8;H7:H8;A10:C10;D10;E10:H10;A12:C12;D12:E12;F12:G12;H12;A14:D14;E14:H14;A16:H16" _
), Range("A17:H17;A19:B19;C19:E19;F19:H19;A21;B21;C21;D21;E21;F21")).Select
Range("A39").Activate
Selection.ClearContents
wbook.Saved = True
AppExcel.DisplayAlerts = False
AppExcel.Quit
Set AppExcel = Nothing
Set wbook = Nothing
Exit Sub
Err_Excel:
wbook.Saved = True
AppExcel.DisplayAlerts = False
AppExcel.Quit
Set AppExcel = Nothing
Set wbook = Nothing
MsgBox "Ocorreu algum problema no acesso à planilha do Excel. Contate o Administrador ", vbCritical
Exit Sub
Ocorre que quando o código é acionado a limpeza das células é realizada. Porém, quando volto ao formulário do Access está lá uma mensagem de erro dizendo que "o objeto é obrigatório" e no código está apontado o trecho
Err_Excel:
'wbook.Saved = True
Socorro!!