05/06/2023 - Sgrubak ha scritto:
Prova con
If Not ActiveSheet.ListObjects(MyTbl).DataBodyRange Is Nothing Then
ActiveSheet.ListObjects(MyTbl).DataBodyRange.Delete
End If
Solito errore 91.. etc…
Ho provato con Is Null , Is Object, Is Numeric, etc… ho provato a dichiarare una variabile ListObjects e ad assegnare ad essa il DataBody Range
Insomma, ho provato un po' tutto quello che conosco , ma niente da fare
E se proprio non c'è metodo allora tanto vale che semplifico in questo modo, tolgo il controllo e vado direttamente al metodo Delete
….ma non mi piace buttare la palla in tribuna ;)
' delete rows
On Error Resume Next
ActiveSheet.ListObjects(MyTable).DataBodyRange.Delete
On Error GoTo 0
Il fatto che mi da fastidio e non sapere, tranne che per la descrizione del messaggio 91 ritornato, come mai un metodo di questo tipo non possa essere validato.
L'unica cosa che deduco è che ad innescare l'errore non è il .ListObjects(MyTable) ma esclusivamente il .DataBodyRange :(