|
Тема |
Re: въпрос за VBA [re: ***] |
|
Автор |
lRlKO (непознат
) |
|
Публикувано | 16.10.09 14:36 |
|
|
Private db As Database
Private rs As Recordset
Private r As Long
Private MYNUM1 As String
Private MYNUM2 As String
Private prom1 As String
Private prom2 As String
Private prom3 As String
Private ws As Worksheets
Private kol1 As String
Private kol2 As String
Sub DAOFromExcelTo_model()
' exports data from the active worksheet to a table in an Access database
' this procedure must be edited before use
MYNUM1 = Application.InputBox("въведете номер оператор")
Set db = OpenDatabase("C:\Documents and Settings\dk-ikosh\My Documents\vik.mdb")
' open the database
Set rs = db.OpenRecordset("PRIZN_RAZH1", dbOpenTable)
firstws = "цени"
Set wb = ActiveWorkbook
wb.Worksheets(firstws).Activate
If Range("D" & 7).Text <> "#DIV/0!" Then
If Range("D" & 7).Text <> "" Then
MsgBox ("има цена доставка")
prom1 = 1
prom2 = 0
Call DOST_NEOB
Call PRIZN_RAZH
prom1 = 0
firstws = "цени"
Set wb = ActiveWorkbook
wb.Worksheets(firstws).Activate
End If
Else
MsgBox ("няма цена доставка")
End If
Sub DOST_NEOB()
firstws = "необходими приходи"
Set wb = ActiveWorkbook
wb.Worksheets(firstws).Activate
'Set db = OpenDatabase("C:\Documents and Settings\dk-ikosh\My Documents\vik.mdb")
' open the database
' Set rs = db.OpenRecordset("PRIZN_RAZH1", dbOpenTable)
With rs
.AddNew
If prom1 = 1 Then
.Fields("nomer") = MYNUM1
MYNUM2 = Application.InputBox("въведете подномер")
.Fields("pod_nom") = MYNUM2
r = 7
.Fields("neob_vazvr") = Range("D" & r).Text
r = r + 1
.Fields("neob_razh") = Range("D" & r).Text '
r = r + 1
.Fields("neob_prih") = Range("D" & r).Text
r = r + 1
.Fields("neob_voda_dost") = Range("D" & r).Text
End If
If prom2 = 1 Then
.Fields("nomer") = MYNUM1
MYNUM2 = Application.InputBox(vavedete nomer)
.Fields("pod_nom") = MYNUM2
r = 7
.Fields("neob_vazvr") = Range("E" & r).Text '
r = r + 1
.Fields("neob_razh") = Range("E" & r).Text
r = r + 1
.Fields("neob_prih") = Range("E" & r).Text
r = r + 2
.Fields("neob_otv_prech_voda") = Range("E" & r).Text
r = r + 1
.Fields("neob_voda_bitov") = Range("E" & r).Text
r = r + 1
.Fields("neob_voda_prom") = Range("E" & r).Text
r = r + 1
.Fields("neob_voda_st1") = Range("E" & r).Text
r = r + 1
.Fields("neob_voda_st2") = Range("E" & r).Text
r = r + 1
.Fields("neob_voda_st3") = Range("E" & r).Text
End If
.CancelUpdate
End With
End Sub
Sub PRIZN_RAZH()
firstws = "признати разходи"
Set wb = ActiveWorkbook
wb.Worksheets(firstws).Activate
r = 9 ' the start row in the worksheet
'Do While Len(Range("A" & r).Formula) >= 0
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
MsgBox (lastrow)
lastrow = 26
'For r = 7 To lastrow
' repeat until first empty cell in column A
' add values to each field in the record
If prom1 = 1 Then
kol1 = "c"
kol2 = "d"
End If
If prom2 = 1 Then
kol1 = "E"
kol2 = "F"
End If
With rs
.AddNew
.Fields("r_ob_mat_baz") = Range(kol1 & r).Text
.Fields("r_ob_mat_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_mat_baz") = Range(kol1 & r).Value
.Fields("r_mat_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_obez_baz") = Range(kol1 & r).Value
.Fields("r_obez_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_koag_baz") = Range(kol1 & r).Value
.Fields("r_koag_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_flog_baz") = Range(kol1 & r).Value
.Fields("r_flog_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_ltk_baz") = Range(kol1 & r).Value
.Fields("r_ltk_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_elen_baz") = Range(kol1 & r).Value
.Fields("r_elen_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_gor_baz") = Range(kol1 & r).Value
.Fields("r_gor_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_gorte_baz") = Range(kol1 & r).Value
.Fields("r_gorte_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_gortr_baz") = Range(kol1 & r).Value
.Fields("r_gortr_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_voda_baz") = Range(kol1 & r).Value
.Fields("r_voda_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_vchu_baz") = Range(kol1 & r).Value
.Fields("r_vchu_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_vsob_baz") = Range(kol1 & r).Value
.Fields("r_vsob_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_robl_baz") = Range(kol1 & r).Value
.Fields("r_robl_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_kanm_baz") = Range(kol1 & r).Value
.Fields("r_kanm_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_drugi_baz") = Range(kol1 & r).Value
.Fields("r_drugi_progn") = Range(kol2 & r).Value
If MYNUM1 <> 7 Then
r = r + 3
Else
r = r + 12
End If
.Fields("r_vanob_baz") = Range(kol1 & r).Value
.Fields("r_vanob_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_zast_baz") = Range(kol1 & r).Value
.Fields("r_zast_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_drvk_baz") = Range(kol1 & r).Value
.Fields("r_drvk_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_dan_baz") = Range(kol1 & r).Value
.Fields("r_dan_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_mdan_baz") = Range(kol1 & r).Value
.Fields("r_mdan_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_regul_baz") = Range(kol1 & r).Value
.Fields("r_regul_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_vobect_baz") = Range(kol1 & r).Value
.Fields("r_vobect_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_sreda_baz") = Range(kol1 & r).Value
.Fields("r_sreda_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_zaust_baz") = Range(kol1 & r).Value
.Fields("r_zaust_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_naemi_baz") = Range(kol1 & r).Value
.Fields("r_naemi_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_sobus_baz") = Range(kol1 & r).Value
.Fields("r_sobus_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_transp_baz") = Range(kol1 & r).Value
.Fields("r_transp_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_otop_baz") = Range(kol1 & r).Value
.Fields("r_otop_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_publ_baz") = Range(kol1 & r).Value
.Fields("r_publ_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_kons_baz") = Range(kol1 & r).Value
.Fields("r_kons_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_urid_baz") = Range(kol1 & r).Value
.Fields("r_urid_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_chet_baz") = Range(kol1 & r).Value
.Fields("r_chet_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_tech_BAZ") = Range(kol1 & r).Value
.Fields("r_tech_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_drug_BAZ") = Range(kol1 & r).Value
.Fields("r_drug_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_ohrana_baz") = Range(kol1 & r).Value
.Fields("r_ohrana_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_inkas_baz") = Range(kol1 & r).Value
.Fields("r_inkas_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_sad_baz") = Range(kol1 & r).Value
.Fields("r_sad_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_drugi1_baz") = Range(kol1 & r).Value
.Fields("r_drugi1_progn") = Range(kol2 & r).Value
r = r + 3
.Fields("r_am_ob_baz") = Range(kol1 & r).Value
.Fields("r_am_ob_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_vazn_ob_baz") = Range(kol1 & r).Value
.Fields("r_vazn_ob_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_tr_baz") = Range(kol1 & r).Value
.Fields("r_tr_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_hon_baz") = Range(kol1 & r).Value
.Fields("r_hon_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_osig_ob_baz") = Range(kol1 & r).Value
.Fields("r_osig_ob_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_sosig_baz") = Range(kol1 & r).Value
.Fields("r_sosig_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_srazh_baz") = Range(kol1 & r).Value
.Fields("r_srazh_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_drrazh_ob_baz") = Range(kol1 & r).Value
.Fields("r_drrazh_ob_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_hrana_baz") = Range(kol1 & r).Value
.Fields("r_hrana_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_ohr_baz") = Range(kol1 & r).Value
.Fields("r_ohr_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_sl_karta_baz") = Range(kol1 & r).Value
.Fields("r_sl_karta_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_com_baz") = Range(kol1 & r).Value
.Fields("r_com_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_danizt_baz") = Range(kol1 & r).Value
.Fields("r_danizt_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_kval_baz") = Range(kol1 & r).Value
.Fields("r_kval_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_izps_baz") = Range(kol1 & r).Value
.Fields("r_izps_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_dr_dr_baz") = Range(kol1 & r).Value
.Fields("r_dr_dr_progn") = Range(kol2 & r).Value
r = r + 3
.Fields("r_rem_baz") = Range(kol1 & r).Value
.Fields("r_rem_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_obsto_baz") = Range(kol1 & r).Value
.Fields("r_obsto_progn") = Range(kol2 & r).Value
r = r + 1
.Fields("r_ob_pr_baz") = Range(kol1 & r).Value
.Fields("r_ob_pr_progn") = Range(kol2 & r).Value
.Update
Set wb = Nothing
End With
End sub
Зареждам данни от sheets те са около 10 и накрая правя .update
Като ги тествам данните се зареждат, но накрая остават последните при .update Как да ги съхраня за последния .update
Ето така минавам от sheet в друг sheet
firstws = "признати разходи"
Set wb = ActiveWorkbook
wb.Worksheets(firstws).Activate
Тези кодове са в отделна процедура, която извиквам с call
<P ID="edit"><FONT class="small"><EM>Редактирано от lRlKO на 16.10.09 14:40.</EM></FONT></P>Редактирано от lRlKO на 16.10.09 15:17.
|
| |
|
|
|