WWW pro školy
Jak na Office - tutoriály, video návody











Vytvoř si párové triko

Poradna - Spojení několika maker v jedno

hlavní kategorie | zpět | + odpovědět na toto téma
Spojení několika maker v jedno - diskuze na toto téma
Zdravím, mám následující problém, měl jsem v excelu tři tlačítková makra, které každé jednotlivě fungovalo, ale když jsem je spojil v jedno "supermakro", tak to najednou nedělá to co má... některé části to vypustí. Může to být tím, že ty dílčí makra na sebe navazují moc rychle a aniž by se jedno dokončilo tak se hned spustí druhé? Totiž každé z nich trvalo několik vteřin a nevím jestli se tam musí nastavit nějaké zpoždění, a nebo zvláštní kód, aby se vždycky počkalo než se to dokončí anebo mám problém hledat někde jinde. Děkuji.

Max | 15.11.2018 10:44  
 
 
Bez přílohy ani ránu.
Odpověď
betcup.cz | 16.11.2018 04:21  
 
 
Ten excel soubor má přes 100 mega, ale makro vypadá následovně, jestli můžete mrknutím zkontrolovat: ----------------- Sub Supermakro() Range("U1").Select ActiveCell.FormulaR1C1 = "1" Range("U1").Select Selection.Copy Columns("N:N").Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _ SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False Selection.NumberFormat = "d/m/yy h:mm;@" Range("U1").Select Selection.ClearContents Columns("M:M").Select Selection.NumberFormat = "@" Dim Radku As Long With ThisWorkbook.ActiveSheet Radku = .Cells(Rows.Count, 2).End(xlUp).Row - 1 If Radku > 1 Then .Cells(2, 2).Resize(Radku, 25).RemoveDuplicates Columns:=Array(1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 25), Header:=xlNo End With End Sub ------------------ Děkuji.
Odpověď
betcup.cz | 16.11.2018 04:25  
 
 
radši posílám i screen, kdyby náhodou zdejší editor nějaké části kódu vynechal: https://ctrlv.cz/shots/2018/11/16/VH4g.png
Odpověď
elninoslov | 16.11.2018 11:34  
 
 
A viete naozaj čo robíte? Násobiace číslo sa nevkladá ako FormulaR1C1 = "1", teda text, ale ako číslo 1. Prečo ho dávate do U1? Tam nieje hlavička ? Pochybujem, lebo počet riadkov zisťujete bez hlavičky (.Row - 1), teda tam je. Nepoužívajte tie Select-y - sú zbytočné. Určite násobíte celý stĺpec N (milión riadkov)? Pochybujem, načo by sa potom zisťoval počet Radku. To isté stĺpec M. Viete, že mažete duplicity až od stĺpca B? A čo stĺpec A, tam dáta zostanú - nekonzistencia. Ale hlavne povedzte, čo Vám nefunguje ? Lebo "nedělá to co má", a my si máme podľa kódu vydedukovať čo to má robiť... Každopádne, ako som napísal koment v kóde, mne na Office 2019 nefunguje vo VBA špeciálne prilepenie násobením (to čo tam potrebujete na prevod na dátum). Ak to robím ručne v liste, tak to funguje, ak nahrávam makro, tak to funguje, ale akonáhle chcem spustiť práve nahrané makro tejto činnosti, nefunguje. To bude zase problémov s tým 2019. Už to vidím. Ak to nejde ani Vám, použite Supermakro2.
Odpověď
betcup.cz | 17.11.2018 07:48  
 
 
Spoustě věcem o kterých píšete nerozumím, takže zkusím odpovědět na to co chápu. /// Já jsem ta makra nevytvářel přímo kódem, protože to ještě neumím. Zkusil jsem si ho vytvořit přes klasické nahrávání toho co dělám, a pak jsem ručně promazal to co jsem pochopil, že je tam zbytečné, třeba rollování a tak. /// Násobím jedničkou, protože potřebuji převést buňky bez formátu na datum. Co je to hlavička nebo Select-Y, to nevím. Celý sloupec (milion řádků) násobit nechci, ale nevěděl jsem jak zadat kódem, aby se násobila jen ta část. Duplicity od sloupce B to vím, ve sloupci A nejsou data. Soubor omrknu a kdyžtak zase napíšu, když stále nebudu chápat. Děkuji.
Odpověď