Trtko Koprivnica
Član broj: 69494 Poruke: 695 *.adsl.net.t-com.hr.
|
Naravno da možeš, naravno moraš znati iz koje kolone i reda prepisuješ
Kod bi ti izgledoo ovako , a ti si ga prepravi
' upis u finitem iz excela
Dim dato2 As Database
Dim rek2 As Recordset
Set dato2 = CurrentDb
Dim sqlupit2 As String
sqlupit2 = "select * from finitem"
Set rek2 = dato2.OpenRecordset(sqlupit2)
brprep = 0
impdef = 3
sveukupno = 0
kolona = InputBox("Unesi broj kolone u kojoj se nalazi iznos (npr. kolona A=1, C=3) " & Chr(13) & "Konta će se prepisati iz prve kolone (A). Prepisivanje počinje od 1. završava u 1000. redu. Prepisivat će se vrijednosti onih konta koji imaju 6 ili više znakova", "Import iz EXCELA", impdef)
If IsNull(kolona) Or kolona = "" Then
MsgBox "Niste Izabrali"
Exit Sub
End If
kol = Val(kolona)
Set objexcel = CreateObject("Excel.Application")
objexcel.Workbooks.Open (lnkput) ' lnkput= "c:\podaci\tablicaexel.xls"
' ovo ovdje dolje ti je bitno, vrti 1000 redova u excelu i uzima podatke iz kolona, sad uzima samo onu jednu koju sam gore naveo,
' ovdje si rekao da uzme iz objexcel.Cells(j, 1).Value ---- (u excelu bi bilo A1 ) , .Cells(j,2 ).Value -- (A2) ... itd
For j = 1 To 1000
konto = objexcel.Cells(j, 1).Value
iznos = objexcel.Cells(j, kol).Value
If Len(Trim(konto)) = 6 Then
If IsNumeric(konto) = True Then
If IsNumeric(iznos) = False Then
MsgBox "Niste odabrali dobru kolonu za prepis. Vrijednost u koloni = " + iznos
Exit Sub
End If
brprep = brprep + 1
rek2.AddNew
rek2.Fields("AccountID") = konto
rek2.Fields("Accountvalue") = iznos
rek2.Fields("Statementid") = 2
sveukupno = sveukupno + iznos
rek2.Update
End If
End If
Next j
rek2.Close
Set dato2 = Nothing
objexcel.Application.DisplayAlerts = False
objexcel.Application.Quit
objexcel.Application.DisplayAlerts = True
[Forms]![unos]![FinStatment].Requery
MsgBox "Podaci za Plan su prepisani, Prepisano: " + Trim(Str(brprep)) + " konta" & Chr(13) & "Sveukupno : " & Format$(sveukupno, "###,###,###,###.00")
|