Třaba takto s pomocným sloupcem.
Ale nejd eo univerzální řešení. Je to konkrétní řešení na tento příklad.
Příloha?
Opravil jsem toho víc.
Do pole se načítá jen sloupec B, když ten zbytek není potřeba
Protože se teď jedná o jednorozměrné pole, tak jsem upravil indexy polí
Ten cyklus "k" na konci je teď zbytečný. Uložím jen jednu hodnoty do jedné buňky.
Jestli jsem to dobře pochopil, tak zkuste toto.
Děkuji.
Děkuiji i za bonus v podobě ošetření chyb. Třeba kontrolovat, zda není word již otevřen by mě vůbec nenapadlo.
Poznámka pro ty, kdo si stáhnou příklad, tak je tam chybka v podobě dvojího zpětného lomítka:
jedno zpětné lomítko na konci cestyadresar = ThisWorkbook.Path & "\"
druhé zpětné lomítoi na začátku názvu souboruSet oDokument = objWord.Documents.Add(adresar & "\Potvrzení1.docx")
To zpětné lomítko na začátku názvu souboru je tam zbytečné.
Mám makro, kdy si zapíši data z excelu do wordu.
Teď mi makro skončí, word zůstane otevřený, ale já se do wordu musím přepnout ručně, abych si mohl prohlídnout a doupravit vzniklý dokument.
Rád bych, když makro skončí, tak abych zůstal ve vytvořeném wordu (excel zůstane otevřený).
Sub tlačítko2_Kliknutí()
Dim oDokument As Word.Document
Dim jmeno As String
jmeno = Range("A2").Text
adresar = ThisWorkbook.Path
soubor = jmeno & ".docx"
Set objWord = New Word.Application
Set oDokument = objWord.Documents.Add(adresar & "\Potvrzení1.docx")
objWord.Visible = True
oDokument.Bookmarks("jmeno").Range.Text = jmeno
oDokument.Bookmarks("datum").Range.Text = Range("A1").Text
' oDokument.PrintOut Range:=wdPrintFromTo, From:="1", To:="1", copies:="2"
oDokument.SaveAs (adresar & soubor)
MsgBox "konec"
' oDokument.Close SaveChanges:=True
' Word.Application.Quit
End Sub
Šlo by to pomocí makra.
Co třeba takhle:
=KDYŽ(POSUN(List2!A$1;ŘÁDEK((A1))-1;0)>0;POSUN(List2!A$1;ŘÁDEK((A1))-1;0);"")
Do makra jsem jen doplnil nějaký komentář.
Opraveny nedostatečné hranice intervalu.
Můžete pokračovat v testování.
Samozřejmě, že to nefunguje.
Meruňky, pomeranče a kokos měly u nové (dosud nezpracované) objednávky Shipped Qty a Remain Qty prázdné a v reálném souboru máte v Shipped Qty 0 (pomlčku) a v Remain Qty máte počet kusů, které se musí doplnit. Prakticky tedy Remain Qty = Requested Qty.
Makro tedy doplní řádek 9, zbyde mu 41 kusů.
Najde sice řádek 21 se stejným materiálem, ale protože Remain Qty je stejné jako Requested Qty, tak to bere jako dokončenou objednávku.
Další objednávku s tímto materiálem nenajde, tak těch 41 nechá v řádku 9 jako přebytek (-41).
Přikládám upravený soubor na nové (jiné) vstupní údaje.
Teď by to mělo chodit dobře.
Tak testujte.
Vyzkoušejte to i na jiných datech než jste sem dodal.
Nejsem si jistý, jestli jsou ošetřené všechny možné varianty.
A jak už jsem psal - pokud to spadne, tak dejte vědět a pošlete i data na kterých to nefunguje.
Upravená verze k vyzkoušení - ta předchozí byla nepočítala dobře.
Nefungují pomeranče. To souvisí s předchozím dotazem: jak poznám, že pomeranče jsou balené po 20 ks a když si objednám 16, tak dostanu 20.
Přikládám verzi na vyzkoušení. Není to konečná verze. Zkoušet jen na kopii, ne na originálním souboru.
Dotaz:
Jak zjistím, že pomeranče jsou balené po 20 a že mám do Shipped Qty napsat 20 a ne 16 (buňka AI23). Protože to nemám jak zjistit, píši tam 16 (to co je v objednávce)
To by pak musela být někde informace, že Pomerače z Indie jsou po 20ks a Pomeranče z Kuby po 30ks a melouny po 2ks apod.
Pokud něco nebude fungovat, potřebuji ta data, kde to hapruje. Klidně do mailu. A s popisem co to dělá (nedělá) a kdy.
P.S Ano, vím, že to ještě nezapisuje letadla do sloupců W a dál.
Jak bude vypadat tabulka v listu letecka, když přiletí letadlo C a následně letadlo D a přiveze materiál na který nemám objednávku?
Jak to bude, když zpracuji letadlo C a D a až potom budu mít objednávku?
Viz. příloha.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.