Příspěvky uživatele


< návrat zpět

elninoslov napsal/a:

Včera som si to pozrel, no a že ... fúúú to bude na dlho.


No, myslím že nemá cenu to řešit ne?

Je tem hlavní zdroj dat (list Data Plantyst)
Pak je tam zdroj informací ze systému (List PP)
Převodní tabulky pro scrap kódy, podle druhu příkazu a pracoviště, počet lidí atd.. (List Data)

V listu Tabule vzorečky přepočítají ten jeden vložený řádek a v KT tabulce je poté výsledek, který se zapíše do listu Data pro Sap. List Tabule je nejkomplikovanější, jelikož určité druhy příkazů se musejí zapsat určitým způsobem, jinak to systém neskousne a vyplivne s chybou. Také Scrap kódy se liší podle druhu příkazu či pracoviště a musí se zobrazovat jen řádky se zapsanou hodnotou.

List Data pro report nemá cenu rozebírat, to jsou data pro mojí potřebu ve formátu k dalšímu zpracování.

No prostě jsem si musel nějak poradit a to v časovém tlaku. Co nebylo včera hotovo je pozdě. Takže asi tak..

elninoslov napsal/a:

Na mobile som videl poobede, že ste dal prílohu, no keď som sa teraz konečne dostal pred spaním k PC, už tu nie je.
Každopádne, to Vaše makro nie je dobre napísané, je pomalé, nevhodne maže po jednom riadku, neprestajne sa zbytočne prepína medzi listami a selektuje bunky. Neviem, čo je účelom, ale na 99% by to šlo efektívnejšie.


Aha, myslel jsem že jste to již stáhl, asi jiný gang :-) Můžete na to juknout k optimalizaci se dostanu později.

elninoslov napsal/a:

Musíte priložiť prílohu. Tých dôvodov je milión, vypisovať ich nebudem. BackEnginering v tomto prípade nefunguje.
Ponechajte všetky formáty, rozloženie, odsadenie, typy (tabuľka vs Tabuľka), vzorce, rozsahy, ale nechajte tam iba 3-5 riadkov anonymizovaných dát.
Dodatočné otázky položím až potom.


Tak nic, už jsem to vyřešil. Bylo to naprosto primitivní, nechápu že mě to nenapadlo hned. Prostě na konec toho Makra vložit příkaz pro spuštění tohoto makra a jede to dokolečka, dokud jsou nějaká data pro zápis. I tak děkuji za ochotu pomoct ;-)

elninoslov napsal/a:

Priložte prílohu a čo je cieľom makra. To makro je, ... ehm ... zle napísané. Samý Select a Copy. Treba to prerobiť.


Cílem Makra je vzít výtažek dat jednoho programu a udělat převod dat do dvou dalších, aby data byla kompatibilní. Ty ostatní dva reporty mají absolutně stupidní formáty, ale také se musí většina dat převádět na jiné hodnoty a některá mají zase pevně daný sloupec, nějaká data se tam musí doplňovat atd atd.. Proto to vypadá takto :-D
Toto makro vlastně vezme řádek ze zdroje, nahraje do tabulky ta propojí s dalšími, které převádějí hodnoty na určité parametry a na místa kde mají být, zapíše a ukončí makro. Jenže těch řádků je tam třeba 200 a klikat tolikrát na tlačítko je absurdní, proto bych potřeboval smyčku. Vím že to vypadá špatně, ale je to první verze a je funkční.

Ahoj lidičky,

byl by někdo prosím tak hodný a přidal smyčku do makra níže. Netuším jak to mám udělat aby se makro opakovalo dokud ho nezastaví podmínka.

Moc děkuji.

Sub Zápis()
' Vložit řádek hodnot
Sheets("Data Plantyst").Select
Rows("2:2").Select
Selection.Copy
Sheets("Zápis").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Rows("2:2").Select
Range("A2").Select
' podmínka pro spuštění makra
If Sheets("Zápis").Range("A18").Value = "NE" Then
MsgBox "Už není žádná hodnota pro zápis, nebo nejsou splněny podmínky", vbCritical, "Zastavení Makra"
Exit Sub
End If
' Aktualizace Tabule
Sheets("Tabule").Select
Application.CutCopyMode = False
ActiveWorkbook.RefreshAll
' Vložení prázdného řádku Sap
Sheets("Data pro Sap").Select
Selection.End(xlDown).Select
Selection.ListObject.ListRows.Add AlwaysInsert:=True
Range("A1").Select
' Vložení prázdného řádku Report
Sheets("Data pro Report").Select
Range("A3").Select
Selection.End(xlDown).Select
Selection.ListObject.ListRows.Add AlwaysInsert:=True
Range("A3").Select
' Vložení dat pro Sap
Sheets("Tabule").Select
Range("Z3:AV3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("A1").Select
Sheets("Data pro Sap").Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
' Vložení dat pro Report
Sheets("Data pro Report").Select
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.Copy
Range("A3").Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A3").Select
' Smazat řádek hodnot
Sheets("Data Plantyst").Select
Rows("2:2").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Sheets("Zápis").Select
Rows("2:2").Select
Selection.ClearContents
Range("A2").Select
ActiveWorkbook.RefreshAll
End Sub

elninoslov:

To je v pohodě, mám tam 13x podmínek a jak jedna nesedí nebo pole není vyplněno, tak to vrací NE. Ale stejně díky zapíšu si to, může se to hodit pro jiné projekty. ;-)

Stalker: Mnohokrát děkuji, přesně tohle jsem potřeboval.

Dobrý den, rád bych požádal o pomoc někoho zkušenějšího než jsem já.

Mám sestavené makro, které bere data ve vyplněném formuláři a ukládá je do souhrnné tabulky v jiném listě. Formulář musí být vyplněn správně a nesmí docházet k chybám, proto mám seznam podmínek, které kontrolují, zda je vše správně vyplněné.

To co bych potřeboval je, přidat před makro podmínku: Pokud je kupříkladu v buňce A1 hodnota/text "ANO" tlačítkem bude možné makro spustit a provést danou operaci. V případě že buňka A1 obsahuje "NE", makro se nespustí a na uživatele vyskočí nějaká hláška, která ho upozorní že je někde chyba, nebo něco zapomněl vyplnit a operace neproběhne.

Předem moc děkuji všem, kteří mi mohou pomoci vyřešit tento problém.

Děkuji za úpravu dokumentu, moc zajímavé pojetí. Potěšil mně ten odkaz na buňku v seznamu, super to bych neposkládal. Určité se s toho dokumentu mnohému přiučím.

Ahoj lidičky, rád bych poprosil o pomoc, někoho kdo má čas a chuť se něčím takovým zabývat.

V přiloženém souboru je dokument, který má zapisovat pohyby na skladě a přidávat nové položky.
Vytvořil jsem si tabulku ve Visual Basicu, bohužel tady mé znalosti končí a dál je to pro mne velká neznámá. 7

V listu Menu, jsem si vytvořil tabulku, která dělá přesně to co potřebuji aby dělala i tabulka v VB/UserForm, až na jednu výjimku a tím je vyhledání položky a zobrazení v listu Seznam. Tady jsem se zasekl.
Byl by někdo tak moc hodný a pomohl mi nastavit tabulku ve Visual Basicu, aby dělala to samé co ta v listu Menu? Budu neskutečně vděčný za každou pomoc a předem moc děkuji.
Už pátrám po nějaké učebnici, ze které bych mohl načerpat nové znalosti. Máte nějaký nápad? Zatím koukám po Programování v Excelu 2013/16.


Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Čas od do

lubo • 19.4. 16:30

Makro smyčka

MilanKop • 19.4. 10:46

Makro smyčka

elninoslov • 19.4. 9:02

Čas od do

elninoslov • 19.4. 8:46

Čas od do

jarek1111 • 18.4. 13:46

Čas od do

lubo • 18.4. 11:13

Čas od do

jarek1111 • 18.4. 8:32