Ecco il codice (nel programma utilizzo excel tramite una classe) :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
'-------------------------------------------------
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
'--------------------------------------------------------------