Originariamente inviato da darkblOOd
non parlavo solo di quel post

il problema sta nel fatto che devi chiudere correttamente, usando le proprietà adatte, ogni oggetto creato, isa esso Application, Workbook Worksheet o range.


Posta il codice che usi e gli do un'occhiata
Ecco il codice (nel programma utilizzo excel tramite una classe) :
'-------------------------------------------------

Const Prima_Riga_Excel = 1
Const Prima_Colonna_Excel = "A"

Private AppExcel As New Excel.Application
Private FileExcel As Excel.Workbook
Private FoglioExcel As Excel.Worksheet

Public Property Get Prima_Riga()
Prima_Riga = Prima_Riga_Excel
End Property

Public Property Get Prima_Colonna()
Prima_Colonna = Prima_Colonna_Excel
End Property

Public Sub Apri_Excel()
AppExcel.Visible = False
End Sub

Public Sub Crea_foglio_Excel()
Set FileExcel = AppExcel.Workbooks.Add
Set FoglioExcel = FileExcel.Worksheets.Item(1)
End Sub

Public Sub Chiudi_file_Excel()
Set FoglioExcel = Nothing
FileExcel.Close (False)
Set FileExcel = Nothing
End Sub

Public Sub Chiudi_Excel()
AppExcel.Quit
Set AppExcel = Nothing
End Sub

Public Sub Inserisci_Funzione(Colonna As String, Riga As Integer, Funzione As String)
FoglioExcel.Cells(Riga, Colonna).Select
AppExcel.ActiveCell.FormulaLocal = "=SE(VAL.ERRORE(" & Funzione & ");0;" & Funzione & ")"
AppExcel.Selection.NumberFormat = "0.00"
End Sub

'Dovrebbe essere questo il metodo che da problemi !

Public Sub Estendi_Funzione(Riga_Iniziale As Integer, Colonna_Iniziale As String, Riga_Finale As Integer, Colonna_Finale As String)
AppExcel.Selection.AutoFill Destination:=Range(Colonna_Iniziale & Riga_Iniziale & ":" & Colonna_Finale & Riga_Finale), Type:=xlFillDefault
End Sub

Public Sub Copia_Colonne(Riga_Iniziale As Integer, Colonna_Iniziale As String, Riga_Finale As Integer, Colonna_Finale As String)
FoglioExcel.Range(FoglioExcel.Cells(Riga_Iniziale, Colonna_Iniziale), FoglioExcel.Cells(Riga_Finale, Colonna_Finale)).Select
AppExcel.Selection.Copy
End Sub

Public Sub Scrivi_Cella(Riga As Integer, Colonna As String, Dato As String)
FoglioExcel.Cells(Riga, Colonna).Select
AppExcel.ActiveCell.FormulaR1C1 = Dato
End Sub
'--------------------------------------------------------------