hi, i have this problem:
from this macro i import from DBF to Excel.
I would want to export from Excel to DBF (the DBF already existis) is possible.?
Sub IMPORTA_PAGATI()
ThisWorkbook.Activate
Set ELENCO = Worksheets("L0785_PAGATI")
CONT = FirstFree("L0785_PAGATI", "A", 6)
Dim StringaDiConnessione
StringaDiConnessione = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\MACRO\DBF_TO_EXCEL;Extended Properties=dBASE IV;User ID=Admin;Password="
Dim OggettoConnessione As Object, OggettoRecordset As Object
Set OggettoConnessione = CreateObject("ADODB.Connection")
OggettoConnessione.Open StringaDiConnessione
Set OggettoRecordset = CreateObject("ADODB.Recordset")
'SELEZIONA IL FILE DBF DA CARICARE - USARE NOME SENZA ESTENSIONE
Set OggettoRecordset = OggettoConnessione.Execute("SELECT * from PAGATI")
Do While Not OggettoRecordset.EOF
ID = OggettoRecordset("SERVIZIO")
Set Found_ID = Sheets("L0785_PAGATI").Columns("S:S").Find(ID, lookat:=xlWhole)
If Found_ID Is Nothing Then
ELENCO.Range("A" & Trim(Str(CONT))).Value = OggettoRecordset("DATA_CONT")
ELENCO.Range("B" & Trim(Str(CONT))).Value = OggettoRecordset("DIP")
ELENCO.Range("C" & Trim(Str(CONT))).Value = OggettoRecordset("COD_BATCH")
ELENCO.Range("D" & Trim(Str(CONT))).Value = OggettoRecordset("C_C")
ELENCO.Range("E" & Trim(Str(CONT))).Value = OggettoRecordset("NOMINATIVO")
ELENCO.Range("F" & Trim(Str(CONT))).Value = OggettoRecordset("CAUS")
ELENCO.Range("G" & Trim(Str(CONT))).Value = OggettoRecordset("DARE")
ELENCO.Range("H" & Trim(Str(CONT))).Value = OggettoRecordset("AVERE")
ELENCO.Range("I" & Trim(Str(CONT))).Value = OggettoRecordset("VAL")
ELENCO.Range("J" & Trim(Str(CONT))).Value = OggettoRecordset("SPORT_MIT")
ELENCO.Range("K" & Trim(Str(CONT))).Value = OggettoRecordset("ANOM")
ELENCO.Range("L" & Trim(Str(CONT))).Value = OggettoRecordset("DESCR")
ELENCO.Range("M" & Trim(Str(CONT))).Value = OggettoRecordset("CRO")
ELENCO.Range("N" & Trim(Str(CONT))).Value = OggettoRecordset("ABI")
ELENCO.Range("O" & Trim(Str(CONT))).Value = OggettoRecordset("CAB")
ELENCO.Range("P" & Trim(Str(CONT))).Value = OggettoRecordset("PAG_IMP")
ELENCO.Range("Q" & Trim(Str(CONT))).Value = OggettoRecordset("NR_***")
ELENCO.Range("R" & Trim(Str(CONT))).Value = OggettoRecordset("MT")
ELENCO.Range("S" & Trim(Str(CONT))).Value = OggettoRecordset("SERVIZIO")
CONT = CONT + 1
End If
OggettoRecordset.MoveNext
Loop
Range("A7").Select
OggettoRecordset.Close
Set OggettoRecordset = Nothing
OggettoConnessione.Close
Set OggettoConnessione = Nothing
End Sub
Public Function FirstFree(Tabella, Colonna, RigaIniziale)
CONT = RigaIniziale
lTest = False
Set Check = Worksheets(Tabella).Range(Colonna + CStr(CONT))
Do While IsEmpty(Check) <> True
Set Check = Worksheets(Tabella).Range(Colonna + CStr(CONT))
If IsEmpty(Check) <> True Then
CONT = CONT + 25
Else
x = CONT
Do Until lTest = True
Set oTest = Worksheets(Tabella).Range(Colonna + CStr(x))
If IsEmpty(oTest) = True Then
x = x - 1
Else
FirstFree = x + 1
lTest = True
End If
Loop
End If
Loop
End Function
Bookmarks