Python týden
Pouze tento týden sleva až 80 % na e-learning týkající se Pythonu
80 % bodů zdarma na online výuku díky naší Letní akci!

Diskuze: Makro hlásí chybu 400 ale v debug modu projde ok

Aktivity (4)
Avatar
Filip Schneider:29. června 11:45

Ahoj,

mám v excelu makro, které mi exportuje určité hodnoty do jiného sešitu a tam je rovná abych je mohl jednoduše vložit do SPC tabulky. Při stisku tlačítka, ke kterému je toto makro přiřazeno mi to otevře cílový sešit a zahlásí chybu 400. Přitom když jedu celý kód v debug modu, vše proběhne jak má a chybu to nezobrazí nikde, cílový soubor se nakonec uloží a zavře a vše je ok.

Sub export_SPC_data_stamping()

Set zdroj = ThisWorkbook
Set Data = Workbooks.Open("C:\Users\filip.schneider\Desktop\Data_for_SPC.xlsx")
Set List = Data.Worksheets("983NEW")
List.Activate
Firstrow = 3
Lastrow = 11
Firstcolumn = 4
lastcolumn = 200



If zdroj.Worksheets("SIP_stamping").Range("U2") = 1 Then
Dim nalezeno As Boolean
    nalezeno = False
    pps = 0
    Data.Worksheets("983NEW").Range("D3").Select
    While Not nalezeno
        If ActiveCell.Value <> "" Then
                pps = pps + 1
        ActiveCell.Offset(0, 1).Select
                Else: nalezeno = True
        End If
    Wend
    'No.6
ActiveCell.Offset(-1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("Q2").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("L14").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("M14").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("N14").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("O14").Value
ActiveCell.Offset(7, 0).Select
'No.38
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("L17").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("M17").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("N17").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("O17").Value
ActiveCell.Offset(7, 0).Select
'No.40
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("L18").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("M18").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("N18").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("O18").Value
ActiveCell.Offset(7, 0).Select
'Mo.43
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("L19").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("M19").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("N19").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("O19").Value
ActiveCell.Offset(7, 0).Select
'No.45
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("L20").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("M20").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("N20").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("O20").Value
ActiveCell.Offset(7, 0).Select
'No.48
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("L21").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("M21").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("N21").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("O21").Value
ActiveCell.Offset(7, 0).Select
'No.50
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("L22").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("M22").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("N22").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("O22").Value
ActiveCell.Offset(7, 0).Select
'No.62
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("L23").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("M23").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("N23").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("O23").Value
ActiveCell.Offset(7, 0).Select
'No.63
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("L24").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("M24").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("N24").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("O24").Value
Data.Save
Data.Close
Else

    nalezeno = False
    pps = 0
    Data.Worksheets("983NEW").Range("D8").Select
    While Not nalezeno
        If ActiveCell.Value <> "" Then
                pps = pps + 1
        ActiveCell.Offset(0, 1).Select
                Else: nalezeno = True
        End If
    Wend
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("L14").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("M14").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("N14").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("O14").Value
ActiveCell.Offset(7, 0).Select
'No.38
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("L17").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("M17").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("N17").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("O17").Value
ActiveCell.Offset(7, 0).Select
'No.40
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("L18").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("M18").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("N18").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("O18").Value
ActiveCell.Offset(7, 0).Select
'Mo.43
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("L19").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("M19").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("N19").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("O19").Value
ActiveCell.Offset(7, 0).Select
'No.45
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("L20").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("M20").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("N20").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("O20").Value
ActiveCell.Offset(7, 0).Select
'No.48
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("L21").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("M21").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("N21").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("O21").Value
ActiveCell.Offset(7, 0).Select
'No.50
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("L22").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("M22").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("N22").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("O22").Value
ActiveCell.Offset(7, 0).Select
'No.62
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("L23").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("M23").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("N23").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("O23").Value
ActiveCell.Offset(7, 0).Select
'No.63
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("L24").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("M24").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("N24").Value
ActiveCell.Offset(1, 0).Select
ActiveWorkbook.Worksheets("983NEW").Range(ActiveCell, ActiveCell.Offset(0, 0)) = zdroj.Worksheets("SIP_stamping").Range("O24").Value
Data.Save
Data.Close
End If


End Sub

Stalo se vám někomu něco podobného?

Zkusil jsem: Snažil jsem se najít pomoc na mnoha fórech, ale bohužel při chybě 400 je jediná rada, debug mode a zjistit kde to padá, což u mě bohužel nikde.
Kód jsem procházel několikrát a nemohu najít nic co by mi aspoň trochu vysvětlilo proč se to děje, ano, není asi úplně úhledný, a dal by se napsat jednodušeji, ale už mi tak funguje u mnoha dalších konvertorů, tak se mi úplně nechce to všude přepisovat.

Chci docílit: Tento kód je dost důležitá součást komplexnějšího programu na tvoření protokolů z výroby a tato část mi exportuje data pro statistickou tabulku z každé šarže výroby.

 
Odpovědět
29. června 11:45
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Alesh
Překladatel
Avatar
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.