Zaslal/a MilanKop 17.4.2024 11:45
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 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ť.
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.
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.
elninoslov napsal/a:
Včera som si to pozrel, no a že ... fúúú to bude na dlho.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.