运行宏复制到另一个文件后挂起Excel

时间:2018-03-06 14:08:25

标签: vba excel-vba copy hang excel

下午好。我的问题与Excel中的VBA宏有关。我的宏每次都在没有投诉的情况下工作,不会将数据移动到另一个文件。但是,因为我将它插入到Excel文件中,从中获取了一些数据,并且我创建了一个运行我的宏的命令按钮(在第一个文件中),它可以正常工作,但最后...它的工作簿#34 ;转化"数据只是挂起,除了从任务管理器关闭Excel之外我什么也做不了。你知道这么奇怪的行为是什么原因吗? 这是我的代码:     Sub Inc2(我作为货币,j作为货币)         i = i + j     结束子     Sub Przypisz_date(komorka As Range,data As Variant)         如果komorka.Value =""然后             data =""         否则:data = CStr(komorka.Value)         万一     结束子

Sub Dodaj_poz(ByRef it As Integer, ByRef kom As Range, ByRef rodzaj_calk As Variant, ByRef rodzaj As Variant, _
              ByRef nr_rodzaj As Integer, Optional ByRef czy_data As Boolean = False)

    If it = 1 And czy_data = True Then
        rodzaj(1) = CStr(Format(rodzaj(1), "dd-mm-yyyy"))
    End If
If czy_data = False Then
    If IsError(Application.Match(kom.Value, rodzaj, 0)) And _
        kom.Value <> 0 And it > 1 Then
                    nr_rodzaj = nr_rodzaj + 1
                    rodzaj(nr_rodzaj) = kom.Value
                    rodzaj_calk = rodzaj_calk & "/" & rodzaj(nr_rodzaj)
    End If
End If
If czy_data = True Then
     If IsError(Application.Match(CStr(Format(kom.Value, "dd-mm-yyyy")), rodzaj, 0)) And _
        kom.Value <> "" And kom.Value <> 0 And it > 1 Then
                    If it = 2 Then
                    rodzaj_calk = rodzaj(1)
                    End If
                    nr_rodzaj = nr_rodzaj + 1
                    rodzaj(nr_rodzaj) = kom.Value
                    rodzaj_calk = Mid(CStr(Format(rodzaj(nr_rodzaj), "dd-mm-yyyy")), 1, 5) & "/" & rodzaj_calk
    End If
End If
End Sub
Sub Ustaw_wart_pocz_zmiennych(ByRef rodzaj_calk As Variant, ByRef rodzaj As Variant, ByRef nr_rodzaj As Integer, _
                              kom As Range, Optional czy_data As Boolean = False)

rodzaj(nr_rodzaj) = kom.Value

Select Case czy_data
    Case True
        rodzaj_calk = CStr(Format(rodzaj(nr_rodzaj), "yyyy-mm-dd"))
    Case False
        rodzaj_calk = rodzaj(nr_rodzaj)
End Select

End Sub

Sub Przenies_dane_do_APlatnosci() 'Main Submodule

Dim sciezka_pocz_zest As String
Dim zest As String
Dim sciezka_zest As String
Dim wb_zest As Workbook
Dim ws_zest As Worksheet

Dim nr_bud As String

Set wb_zest = ActiveWorkbook
sciezka_pocz_zest = wb_zest.Path
zest = wb_zest.Name

sciezka_zest = sciezka_pocz_zest & "\" & zest

Set ws_zest = wb_zest.Worksheets("Zestawienie")

nr_bud = Left(Right(wb_zest.Name, Len(wb_zest.Name) - 19), Len(Right(wb_zest.Name, Len(wb_zest.Name) - 19)) - (Len(wb_zest.Name) - InStr(1, wb_zest.Name, ".") + 1))

Const sciezka_pocz_apla = "(a path)"
Const apla = "(filename).xls"
Dim sciezka_apla As String
Dim wb_apla As Workbook
Dim ws_apla As Worksheet

sciezka_apla = sciezka_pocz_apla + apla

Workbooks.Open Filename:=sciezka_apla

Set wb_apla = Workbooks(apla)
Set ws_apla = wb_apla.Worksheets(nr_bud)

Dim numer_it As Integer
Dim i_nr_obw As Integer

Dim nr_faktury_hp_tb As Date
Dim data_faktury_hp_tb As Date
Dim data_sprzedazy_wykonania As Date
Dim status_vat As String

Dim nr_zlec_zd As String
Dim nr_zlec_inw As String
Dim data_wplywu As Variant
Dim rejon_cz_zamaw As String
Dim miejsce As String
Dim rejon_drog As String
Dim strefa_wschod_zachod As String
    Dim obwod(1 To 100) As String
    Dim nr_obw As Integer
    Dim obwod_calk As String
    Dim droga(1 To 100) As String
    Dim nr_dro As Integer
    Dim droga_calk As String
    Dim miejscowosc_lokalizacja(1 To 100) As String
    Dim nr_m_lok As Integer
    Dim m_lok_calk As String
Dim nazwa_zlecenia As String

    Dim wskazany_termin_realizacji(1 To 20) As Variant
    Dim nr_treal As Integer
    Dim treal_calk As String

    Dim data_wykon(1 To 200) As Variant
    Dim nr_dwyko As Integer
    Dim dwyko_calk As String

    Dim data_zgl_do_odb(1 To 200) As Variant
    Dim nr_d_zo As Integer
    Dim d_zo_calk As String

    Dim okr_do_fakt(1 To 20) As Variant
    Dim nr_okr_do_fakt As Integer
    Dim okr_do_fakt_calk As String

    Dim firma_realiz(1 To 20) As String
    Dim nr_f_realiz As Integer
    Dim f_realiz_calk As String

    Dim zlec_wart_netto_calk As Currency

Dim real_wart_netto_tb_hp As Currency
Dim real_wart_brutto_tb_hp As Currency

    Dim data_fakt_tb_hp(1 To 10) As Variant
    Dim nr_data_fakt_tb_hp As Integer
    Dim data_fakt_tb_hp_calk As String

    Dim nr_fakt_tb_hp(1 To 10) As String
    Dim nr_nr_fakt_tb_hp As Integer
    Dim nr_fakt_tb_hp_calk As String

    Dim data_fakt_partner_1(1 To 10) As Variant
    Dim nr_data_fakt_partner_1 As Integer
    Dim data_fakt_partner_1_calk As String

    Dim nr_fakt_partner_1(1 To 10) As String
    Dim nr_nr_fakt_partner_1 As Integer
    Dim nr_fakt_partner_1_calk As String

    Dim data_fakt_partner_2(1 To 10) As Variant
    Dim nr_data_fakt_partner_2 As Integer
    Dim data_fakt_partner_2_calk As String

    Dim nr_fakt_partner_2(1 To 10) As String
    Dim nr_nr_fakt_partner_2 As Integer
    Dim nr_fakt_partner_2_calk As String

    Dim data_fakt_partner_3(1 To 10) As Variant
    Dim nr_data_fakt_partner_3 As Integer
    Dim data_fakt_partner_3_calk As String

    Dim nr_fakt_partner_3(1 To 10) As String
    Dim nr_nr_fakt_partner_3 As Integer
    Dim nr_fakt_partner_3_calk As String

    Dim data_fakt_partner_4(1 To 10) As Variant
    Dim nr_data_fakt_partner_4 As Integer
    Dim data_fakt_partner_4_calk As String

    Dim nr_fakt_partner_4(1 To 10) As String
    Dim nr_nr_fakt_partner_4 As Integer
    Dim nr_fakt_partner_4_calk As String

        Dim real_wart_netto_PODW As Currency

    Dim data_fakt_PODW(1 To 10) As Variant
    Dim nr_data_fakt_PODW As Integer
    Dim data_fakt_PODW_calk As String

    Dim nr_fakt_PODW(1 To 10) As String
    Dim nr_nr_fakt_PODW As Integer
    Dim nr_fakt_PODW_calk As String

        Dim real_wart_netto_PODW2 As Currency

    Dim data_fakt_PODW2(1 To 10) As Variant
    Dim nr_data_fakt_PODW2 As Integer
    Dim data_fakt_PODW2_calk As String

    Dim nr_fakt_PODW2(1 To 10) As String
    Dim nr_nr_fakt_PODW2 As Integer
    Dim nr_fakt_PODW2_calk As String

        Dim real_wart_netto_PODW3 As Currency

    Dim data_fakt_PODW3(1 To 10) As Variant
    Dim nr_data_fakt_PODW3 As Integer
    Dim data_fakt_PODW3_calk As String

    Dim nr_fakt_PODW3(1 To 10) As String
    Dim nr_nr_fakt_PODW3 As Integer
    Dim nr_fakt_PODW3_calk As String

        Dim real_wart_netto_PODW4 As Currency

    Dim data_fakt_PODW4(1 To 10) As Variant
    Dim nr_data_fakt_PODW4 As Integer
    Dim data_fakt_PODW4_calk As String

    Dim nr_fakt_PODW4(1 To 10) As String
    Dim nr_nr_fakt_PODW4 As Integer
    Dim nr_fakt_PODW4_calk As String

        Dim wart_netto_jPODW As Currency

    Dim data_fakt_jPODW(1 To 10) As Variant
    Dim nr_data_fakt_jPODW As Integer
    Dim data_fakt_jPODW_calk As String

    Dim nr_fakt_jPODW(1 To 10) As String
    Dim nr_nr_fakt_jPODW As Integer
    Dim nr_fakt_jPODW_calk As String

Const kol_status_vat_apla = (column number)
Const kol_stat_zlec_apla = ...
Const kol_nr_zlec_zd_apla = ...
Const kol_nr_zlec_inw_apla = ...
Const kol_data_wplywu_apla = ...

'And so on - declarations of constants

Dim koniec_zest_wl As Integer
Dim koniec_zest_zm As Integer
Dim koniec_apla As Integer
Dim koniec_apla_ost As Integer

Dim aplat_empty As Boolean
Dim zest_empty As Boolean

Dim firma As String
Dim firma_opcj As String

Dim pocz_firma_opcj
Dim licznik_firm
Dim suma As Currency

Dim i As Integer
Dim j As Integer
Dim i_pocz_zlec As Integer
Dim i_konc_zlec As Integer
Dim k As Integer
Dim l As Integer

Dim akt_wiersz As Integer

Dim czy_dodawac_wiersz As Boolean

    i = 0
    k = 0
    suma = 0
    czy_dodawac_wiersz = False
    licznik_firm = 1

    aplat_empty = False
    zest_empty = False

    koniec_zest_wl = ws_zest.Cells(ws_zest.Rows.Count, 1).End(xlUp).Row
    koniec_zest_zm = koniec_zest_wl
    koniec_apla = ws_apla.Cells(ws_apla.Rows.Count, kol_nr_zlec_zd_apla).End(xlUp).Row


ws_apla.Range("S:U").NumberFormat = "General"

If koniec_apla = 10 Then

    aplat_empty = True

End If

If koniec_zest_wl = 4 Then

    zest_empty = True

End If


If aplat_empty = True And zest_empty = True Then
    MsgBox Prompt:="Nie można uaktualnić danych w pliku Apłatności, ponieważ w zestawieniu zleceń nie ma żadnych numerów zleceń!", Title:="Error!"
    Exit Sub
End If

If Not ws_apla.Cells(koniec_apla, kol_nr_zlec_zd_apla) = _
            ws_zest.Cells(koniec_zest_zm, kol_nr_zlec_zd_zest) Then

    If aplat_empty = True Then
        koniec_zest_zm = 4
    Else
        Do

            koniec_zest_zm = koniec_zest_zm - 1

        Loop Until ws_apla.Cells(koniec_apla, kol_nr_zlec_zd_apla) = _
        ws_zest.Cells(koniec_zest_zm, kol_nr_zlec_zd_zest)
    End If

    Do

                nr_obw = 1
                nr_dro = 1
                nr_m_lok = 1
                nr_treal = 1
                nr_dwyko = 1
                nr_d_zo = 1
                nr_okr_do_fakt = 1
                nr_f_realiz = 1
                'and so on

                obwod_calk = ""
                droga_calk = ""
                m_lok_calk = ""
                treal_calk = ""
                dwyko_calk = ""
                d_zo_calk = ""
                okr_do_fakt_calk = ""
                f_realiz_calk = ""
                'and so on

                i = i + 1
                numer_it = 0
                akt_wiersz = koniec_zest_zm + i

                real_wart_netto_tb_hp = 0
                real_wart_brutto_tb_hp = 0
                real_wart_netto_PODW = 0
                real_wart_netto_PODW2 = 0
                real_wart_netto_PODW3 = 0
                real_wart_netto_PODW4 = 0
                wart_netto_jPODW = 0

     status_vat = ws_zest.Cells(akt_wiersz, kol_status_vat_zest).Value
     nr_zlec_zd = ws_zest.Cells(akt_wiersz, kol_nr_zlec_zd_zest).Value
     nr_zlec_inw = ws_zest.Cells(akt_wiersz, kol_nr_zlec_inw_zest).Value
                Call Przypisz_date(ws_zest.Cells(akt_wiersz, kol_data_wplywu_zest), data_wplywu)
     rejon_cz_zamaw = ws_zest.Cells(akt_wiersz, kol_rejon_cz_zamaw_zest).Value
                    obwod(nr_obw) = ws_zest.Cells(akt_wiersz, kol_obwod_zest).Value
                    obwod_calk = obwod(nr_obw)
                    droga(nr_dro) = ws_zest.Cells(akt_wiersz, kol_droga_zest).Value
                    droga_calk = droga(nr_dro)
                    miejscowosc_lokalizacja(nr_m_lok) = ws_zest.Cells(akt_wiersz, kol_miejscowosc_lokalizacja_zest).Value
                    m_lok_calk = miejscowosc_lokalizacja(nr_m_lok)
     nazwa_zlecenia = ws_zest.Cells(akt_wiersz, kol_nazwa_zlecenia_zest).Value
                    wskazany_termin_realizacji(nr_treal) = CStr(Format(ws_zest.Cells(akt_wiersz, kol_wskazany_termin_realizacji_zest).Value, "yyyy-mm-dd"))
                    treal_calk = CStr(Format(wskazany_termin_realizacji(nr_treal), "yyyy-mm-dd"))
                    data_wykon(nr_dwyko) = CStr(Format(ws_zest.Cells(akt_wiersz, kol_data_wykon_zest).Value, "yyyy-mm-dd"))
                    dwyko_calk = CStr(Format(data_wykon(nr_dwyko), "yyyy-mm-dd"))
                    data_zgl_do_odb(nr_d_zo) = ws_zest.Cells(akt_wiersz, kol_data_zgl_do_odb_zest).Value
                    d_zo_calk = CStr(Format(data_zgl_do_odb(nr_d_zo), "yyyy-mm-dd"))
                    okr_do_fakt(nr_okr_do_fakt) = ws_zest.Cells(akt_wiersz, kol_okr_do_fakt_zest).Value
                    okr_do_fakt_calk = CStr(Format(okr_do_fakt(nr_okr_do_fakt), "yyyy-mm-dd"))
                    firma_realiz(nr_f_realiz) = ws_zest.Cells(akt_wiersz, kol_firma_realiz_zest).Value
                    f_realiz_calk = firma_realiz(nr_f_realiz)
                    Call Ustaw_wart_pocz_zmiennych(data_fakt_tb_hp_calk, data_fakt_tb_hp, nr_data_fakt_tb_hp, _
                                                    ws_zest.Cells(akt_wiersz, kol_data_fakt_tb_hp_zest), True)
                    Call Ustaw_wart_pocz_zmiennych(nr_fakt_tb_hp_calk, nr_fakt_tb_hp, nr_nr_fakt_tb_hp, _
                                                    ws_zest.Cells(akt_wiersz, kol_nr_fakt_tb_hp_zest))


                    Call Ustaw_wart_pocz_zmiennych(data_fakt_partner_1_calk, data_fakt_partner_1, _
                                                   nr_data_fakt_partner_1, ws_zest.Cells(akt_wiersz, _
                                                   kol_data_fakt_partner_1_zest), True)
                    Call Ustaw_wart_pocz_zmiennych(nr_fakt_partner_1_calk, nr_fakt_partner_1, _
                                                   nr_nr_fakt_partner_1, ws_zest.Cells(akt_wiersz, _
                                                   kol_nr_fakt_partner_1_zest))
                    Call Ustaw_wart_pocz_zmiennych(data_fakt_partner_2_calk, data_fakt_partner_2, _
                                                   nr_data_fakt_partner_2, ws_zest.Cells(akt_wiersz, _
                                                   kol_data_fakt_partner_2_zest), True)
                    Call Ustaw_wart_pocz_zmiennych(nr_fakt_partner_2_calk, nr_fakt_partner_2, _
                                                   nr_nr_fakt_partner_2, ws_zest.Cells(akt_wiersz, _
                                                   kol_nr_fakt_partner_2_zest))
                    Call Ustaw_wart_pocz_zmiennych(data_fakt_partner_3_calk, data_fakt_partner_3, _
                                                   nr_data_fakt_partner_3, ws_zest.Cells(akt_wiersz, _
                                                   kol_data_fakt_partner_3_zest), True)
                    Call Ustaw_wart_pocz_zmiennych(nr_fakt_partner_3_calk, nr_fakt_partner_3, _
                                                   nr_nr_fakt_partner_3, ws_zest.Cells(akt_wiersz, _
                                                   kol_nr_fakt_partner_3_zest))
                    Call Ustaw_wart_pocz_zmiennych(data_fakt_partner_4_calk, data_fakt_partner_4, _
                                                   nr_data_fakt_partner_4, ws_zest.Cells(akt_wiersz, _
                                                   kol_data_fakt_partner_4_zest), True)
                    Call Ustaw_wart_pocz_zmiennych(nr_fakt_partner_4_calk, nr_fakt_partner_4, _
                                                   nr_nr_fakt_partner_4, ws_zest.Cells(akt_wiersz, _
                                                   kol_nr_fakt_partner_4_zest))

                    Call Ustaw_wart_pocz_zmiennych(data_fakt_PODW_calk, data_fakt_PODW, nr_data_fakt_PODW, _
                                                   ws_zest.Cells(akt_wiersz, kol_data_fakt_PODW_zest), True)
                    Call Ustaw_wart_pocz_zmiennych(nr_fakt_PODW_calk, nr_fakt_PODW, nr_nr_fakt_PODW, _
                                                   ws_zest.Cells(akt_wiersz, kol_nr_fakt_PODW_zest), True)
                    Call Ustaw_wart_pocz_zmiennych(data_fakt_PODW2_calk, data_fakt_PODW2, nr_data_fakt_PODW2, _
                                                   ws_zest.Cells(akt_wiersz, kol_data_fakt_PODW2_zest), True)
                    Call Ustaw_wart_pocz_zmiennych(nr_fakt_PODW2_calk, nr_fakt_PODW2, nr_nr_fakt_PODW2, _
                                                   ws_zest.Cells(akt_wiersz, kol_nr_fakt_PODW2_zest), True)
                    Call Ustaw_wart_pocz_zmiennych(data_fakt_PODW3_calk, data_fakt_PODW3, nr_data_fakt_PODW3, _
                                                   ws_zest.Cells(akt_wiersz, kol_data_fakt_PODW3_zest), True)
                    Call Ustaw_wart_pocz_zmiennych(nr_fakt_PODW3_calk, nr_fakt_PODW3, nr_nr_fakt_PODW3, _
                                                   ws_zest.Cells(akt_wiersz, kol_nr_fakt_PODW3_zest), True)
                    Call Ustaw_wart_pocz_zmiennych(data_fakt_PODW4_calk, data_fakt_PODW4, nr_data_fakt_PODW4, _
                                                   ws_zest.Cells(akt_wiersz, kol_data_fakt_PODW4_zest), True)
                    Call Ustaw_wart_pocz_zmiennych(nr_fakt_PODW4_calk, nr_fakt_PODW4, nr_nr_fakt_PODW4, _
                                                   ws_zest.Cells(akt_wiersz, kol_nr_fakt_PODW4_Zest), True)
                    'and so on

                k = k + 1
                i_pocz_zlec = koniec_zest_zm + i
                i = i - 1

                Do

                    i = i + 1
                    numer_it = numer_it + 1

                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_obwod_zest), obwod_calk, obwod, nr_obw)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_droga_zest), droga_calk, droga, nr_dro)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_miejscowosc_lokalizacja_zest), m_lok_calk, miejscowosc_lokalizacja, nr_m_lok)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_wskazany_termin_realizacji_zest), treal_calk, wskazany_termin_realizacji, nr_treal, True)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_data_wykon_zest), dwyko_calk, data_wykon, nr_dwyko, True)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_data_zgl_do_odb_zest), d_zo_calk, data_zgl_do_odb, nr_d_zo, True)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_okr_do_fakt_zest), okr_do_fakt_calk, okr_do_fakt, nr_okr_do_fakt, True)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_firma_realiz_zest), f_realiz_calk, firma_realiz, nr_f_realiz)

                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_data_fakt_tb_hp_zest), data_fakt_tb_hp_calk, data_fakt_tb_hp, nr_data_fakt_tb_hp, True)

                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_nr_fakt_tb_hp_zest), nr_fakt_tb_hp_calk, nr_fakt_tb_hp, nr_nr_fakt_tb_hp)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_data_fakt_partner_1_zest), data_fakt_partner_1_calk, data_fakt_partner_1, nr_data_fakt_partner_1, True)

                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_nr_fakt_partner_1_zest), nr_fakt_partner_1_calk, nr_fakt_partner_1, nr_nr_fakt_partner_1)

                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_data_fakt_partner_2_zest), data_fakt_partner_2_calk, data_fakt_partner_2, nr_data_fakt_partner_2, True)

                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_nr_fakt_partner_2_zest), nr_fakt_partner_2_calk, nr_fakt_partner_2, nr_nr_fakt_partner_2)

                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_data_fakt_partner_3_zest), data_fakt_partner_3_calk, data_fakt_partner_3, nr_data_fakt_partner_3, True)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_nr_fakt_partner_3_zest), nr_fakt_partner_3_calk, nr_fakt_partner_3, nr_nr_fakt_partner_3)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_data_fakt_partner_4_zest), data_fakt_partner_4_calk, data_fakt_partner_4, nr_data_fakt_partner_4, True)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_nr_fakt_partner_4_zest), nr_fakt_partner_4_calk, nr_fakt_partner_4, nr_nr_fakt_partner_4)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_data_fakt_PODW_zest), data_fakt_PODW_calk, data_fakt_PODW, nr_data_fakt_PODW, True)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_nr_fakt_PODW_zest), nr_fakt_PODW_calk, nr_fakt_PODW, nr_nr_fakt_PODW)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_data_fakt_PODW2_zest), data_fakt_PODW2_calk, data_fakt_PODW2, nr_data_fakt_PODW2, True)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_nr_fakt_PODW2_zest), nr_fakt_PODW2_calk, nr_fakt_PODW2, nr_nr_fakt_PODW2)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_data_fakt_PODW3_zest), data_fakt_PODW3_calk, data_fakt_PODW3, nr_data_fakt_PODW3, True)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_nr_fakt_PODW3_zest), nr_fakt_PODW3_calk, nr_fakt_PODW3, nr_nr_fakt_PODW3)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_data_fakt_PODW4_zest), data_fakt_PODW4_calk, data_fakt_PODW4, nr_data_fakt_PODW4, True)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_nr_fakt_PODW4_Zest), nr_fakt_PODW4_calk, nr_fakt_PODW4, nr_nr_fakt_PODW4)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_data_fakt_jPODW_zest), data_fakt_jPODW_calk, data_fakt_jPODW, nr_data_fakt_jPODW, True)
                Call Dodaj_poz(numer_it, ws_zest.Cells(koniec_zest_zm + i, kol_nr_fakt_jPODW_zest), nr_fakt_jPODW_calk, nr_fakt_jPODW, nr_nr_fakt_jPODW)

                Call Inc2(real_wart_netto_tb_hp, CCur(ws_zest.Cells(koniec_zest_zm + i, kol_real_wart_netto_tb_hp_zest).Value))
                Call Inc2(real_wart_brutto_tb_hp, CCur(ws_zest.Cells(koniec_zest_zm + i, kol_real_wart_brutto_tb_hp_zest).Value))
                Call Inc2(real_wart_netto_PODW, CCur(ws_zest.Cells(koniec_zest_zm + i, kol_real_wart_netto_PODW_zest).Value))
                Call Inc2(real_wart_netto_PODW2, CCur(ws_zest.Cells(koniec_zest_zm + i, kol_real_wart_netto_PODW2_zest).Value))
                Call Inc2(real_wart_netto_PODW3, CCur(ws_zest.Cells(koniec_zest_zm + i, kol_real_wart_netto_PODW3_zest).Value))
                Call Inc2(real_wart_netto_PODW4, CCur(ws_zest.Cells(koniec_zest_zm + i, kol_real_wart_netto_PODW4_zest).Value))
                Call Inc2(wart_netto_jPODW, CCur(ws_zest.Cells(koniec_zest_zm + i, kol_wart_netto_jPODW_zest).Value))

                Loop Until Not ws_zest.Cells(koniec_zest_zm + (i + 1), kol_nr_zlec_zd_zest) = _
                                    nr_zlec_zd

                i_konc_zlec = koniec_zest_zm + i

With ws_apla
    With .Cells((koniec_apla + k), 8)
         .NumberFormat = "yyyy-mm-dd"
         If .Formula = "" Then
            .Formula = "=IF(I" & CStr(.Row) & ">0,I" & CStr(.Row) & "+30,M" & CStr(.Row) & "+30)"
         End If
    End With
    .Cells((koniec_apla + k), kol_status_vat_apla).Value = status_vat
    .Cells((koniec_apla + k), kol_stat_zlec_apla).Value = "NW"
    .Cells((koniec_apla + k), kol_nr_zlec_zd_apla).Value = nr_zlec_zd
    .Cells((koniec_apla + k), kol_nr_zlec_inw_apla).Value = nr_zlec_inw
    .Cells((koniec_apla + k), kol_data_wplywu_apla).Value = data_wplywu
    .Cells((koniec_apla + k), kol_rejon_cz_zamaw_apla).Value = rejon_cz_zamaw
        .Cells((koniec_apla + k), kol_obwod_apla).Value = obwod_calk
        .Cells((koniec_apla + k), kol_droga_apla).Value = droga_calk
        .Cells((koniec_apla + k), kol_miejscowosc_lokalizacja_apla).Value = m_lok_calk
    .Cells((koniec_apla + k), kol_nazwa_zlecenia_apla).Value = nazwa_zlecenia
        .Cells((koniec_apla + k), kol_wskazany_termin_realizacji_apla).Value = treal_calk
            If data_wykon(1) <> 0 Then
                .Cells((koniec_apla + k), kol_data_wykon_apla).Value = dwyko_calk
            Else:
            .Cells((koniec_apla + k), kol_data_wykon_apla).NumberFormat = "General"
                    .Cells((koniec_apla + k), kol_data_wykon_apla).Value = ""
            End If
        .Cells((koniec_apla + k), kol_data_zgl_do_odb_apla).Value = d_zo_calk
        .Cells((koniec_apla + k), kol_okr_do_fakt_apla).Value = okr_do_fakt_calk
        .Cells((koniec_apla + k), kol_firma_realiz_apla).Value = f_realiz_calk

            .Cells((koniec_apla + k), kol_real_wart_netto_tb_hp_apla).Value = real_wart_netto_tb_hp
            .Cells((koniec_apla + k), kol_real_wart_brutto_tb_hp_apla).Value = real_wart_brutto_tb_hp

        .Cells((koniec_apla + k), kol_data_fakt_tb_hp_apla).Value = data_fakt_tb_hp_calk
        .Cells((koniec_apla + k), kol_nr_fakt_tb_hp_apla).Value = nr_fakt_tb_hp_calk

        .Cells((koniec_apla + k), kol_data_fakt_partner_1_apla).Value = data_fakt_partner_1_calk
        .Cells((koniec_apla + k), kol_nr_fakt_partner_1_apla).Value = nr_fakt_partner_1_calk
        .Cells((koniec_apla + k), kol_data_fakt_partner_2_apla).Value = data_fakt_partner_2_calk
        .Cells((koniec_apla + k), kol_nr_fakt_partner_2_apla).Value = nr_fakt_partner_2_calk
        .Cells((koniec_apla + k), kol_data_fakt_partner_3_apla).Value = data_fakt_partner_3_calk
        .Cells((koniec_apla + k), kol_nr_fakt_partner_3_apla).Value = nr_fakt_partner_3_calk
        .Cells((koniec_apla + k), kol_data_fakt_partner_4_apla).Value = data_fakt_partner_4_calk
        .Cells((koniec_apla + k), kol_nr_fakt_partner_4_apla).Value = nr_fakt_partner_4_calk

    .Cells((koniec_apla + k), kol_data_fakt_PODW_apla).Value = data_fakt_PODW_calk
    .Cells((koniec_apla + k), kol_nr_fakt_PODW_apla).Value = nr_fakt_PODW_calk
    .Cells((koniec_apla + k), kol_data_fakt_PODW2_apla).Value = data_fakt_PODW2_calk
    .Cells((koniec_apla + k), kol_nr_fakt_PODW2_apla).Value = nr_fakt_PODW2_calk
    .Cells((koniec_apla + k), kol_data_fakt_PODW3_apla).Value = data_fakt_PODW3_calk
    .Cells((koniec_apla + k), kol_nr_fakt_PODW3_apla).Value = nr_fakt_PODW3_calk
    .Cells((koniec_apla + k), kol_data_fakt_PODW4_apla).Value = data_fakt_PODW4_calk
    .Cells((koniec_apla + k), kol_nr_fakt_PODW4_apla).Value = nr_fakt_PODW4_calk
    .Cells((koniec_apla + k), kol_data_fakt_jPODW_apla).Value = data_fakt_jPODW_calk
    .Cells((koniec_apla + k), kol_nr_fakt_jPODW_apla).Value = nr_fakt_jPODW_calk


    .Cells((koniec_apla + k), kol_real_wart_netto_PODW_apla).Value = real_wart_netto_PODW
    .Cells((koniec_apla + k), kol_real_wart_netto_PODW2_apla).Value = real_wart_netto_PODW2
    .Cells((koniec_apla + k), kol_real_wart_netto_PODW3_apla).Value = real_wart_netto_PODW3
    .Cells((koniec_apla + k), kol_real_wart_netto_PODW4_apla).Value = real_wart_netto_PODW4
    .Cells((koniec_apla + k), kol_wart_netto_jPODW_apla).Value = wart_netto_jPODW

End With

Loop Until ws_apla.Cells(koniec_apla + k, kol_nr_zlec_zd_apla) = _
            ws_zest.Cells(koniec_zest_wl, kol_nr_zlec_zd_zest)

koniec_apla_ost = ws_apla.Cells(Rows.Count, 19).End(xlUp).Row

For l = 0 To (koniec_apla_ost - koniec_apla - 1)

ws_apla.Rows(koniec_apla + l).Copy
ws_apla.Rows(koniec_apla + l + 1).PasteSpecial Paste:=xlPasteFormats

Next l

End If

Workbooks(wb_zest.Name).Close SaveChanges:=False
Workbooks(wb_apla.Name).Close SaveChanges:=True
MsgBox ("APłatności zostały pomyślnie uaktualnione!")

End Sub

3 个答案:

答案 0 :(得分:0)

正如其他人所指出的那样,没有代码就很难知道问题是什么。如果您使用宏来触发另一个工作簿中的第二个宏,这可能是您的问题。最好从一个工作簿运行整个过程。

答案 1 :(得分:0)

不应:

工作簿(wb_zest.Name)。关闭SaveChanges:= False

是:

wb_zest.Close False

当它已被定义为工作簿时,不明白为什么要调用它的名称。

答案 2 :(得分:0)

再看看你的代码并注意到你将wb_zest定义为ActiveWorkbook,我猜这是上面代码所在的位置。

然后你试图关闭wb_zest,这里的问题是代码无法关闭当前子运行的工作簿。

正如您所说的那样,代码驻留在其他地方并且现在位于wb_zest中,因此您不再需要关闭wb_zest。

尝试完全删除此行,看看它是如何运行的。

希望这有帮助