Dobrý den.
Mám vytvořené makro kde z jiného listu čtu jednotlivé buňky (řádek 3) a tvořím z něj zápis na jiný list (A20) ve formátu data a času. A teď bych potřeboval vytvořit smyčku kde by se načetli hodnoty vždy o řádek níž (řádek 4, řádek 5 ... až řádek X) a zapsal by se na další volnou buňku prvního listu(A21, A22 až Axxx). Bohužel mě nenapadl žádný postup, proto žádám o Vaši radu.
Velice děkuji.
Sub Date_Time()
'
' Date_Time Makro
'
Dim DatumText As String
DatumText = Range("Log!A3") & "." & Range("Log!B3") & "." & Range("Log!C3") & " " & Range("Log!D3") & ":" & Range("Log!E3") & ":" & Range("Log!F3")
Range("A20").Value = Format(DatumText, "d.m.yy h:mm;@")
End Sub
Opakování makra
-
- Level 3
- Příspěvky: 452
- Registrován: leden 12
- Bydliště: Země, bohužel...
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Opakování makra
Vítám Vás na PC-Help.
Pokud stačí jen popostrčení, tak doporučuju se podívat na:
cyklus For Next
příkaz With
a adresování buňky čísly: cells(řádek, sloupek) (nápověda v editoru VBA: "How to: Refer to Cells by Using Index Numbers")
Odkaz na stránky zabývající se VBA najdete třeba v mém podpisu.
Pokud stačí jen popostrčení, tak doporučuju se podívat na:
cyklus For Next
příkaz With
a adresování buňky čísly: cells(řádek, sloupek) (nápověda v editoru VBA: "How to: Refer to Cells by Using Index Numbers")
Odkaz na stránky zabývající se VBA najdete třeba v mém podpisu.
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
Re: Opakování makra
Děkuji za radu a přivítání.
Náhradu za adresování buněk jsem zvládl. Ale s tím zacyklováním si stále nevím radu. Pořád se mi nedaří vytvořit cyklus kde poskočím o řádek níž v jednom listě a zapíšu do buňky o řádek níž v jiném listě.
Náhradu za adresování buněk jsem zvládl. Ale s tím zacyklováním si stále nevím radu. Pořád se mi nedaří vytvořit cyklus kde poskočím o řádek níž v jednom listě a zapíšu do buňky o řádek níž v jiném listě.
-
- Level 3
- Příspěvky: 452
- Registrován: leden 12
- Bydliště: Země, bohužel...
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Opakování makra
Ok, tak to vezmeme s ukázkou.
Do buňky A1 až A10 zapíše číslo cyklu. Místo pevného čísla můžete použít proměnnou s číslem aby se hodnota zapsala do následující buňky.
V cyklu můžete do proměnné přidat načtené buňky a pomocí následujícího příkazu zjistíte poslední řádek prázdné buňky v listu kam chcete zapsat výsledek:
V případě, že nad oblastí kam chcete zapsat výsledky jsou prázdné buňky, nebo pod danou oblastí jsou další data bude potřeba použít jinou metodu, např. další cyklus: for b = 1 to 10
Makro pak bude o něco pomalejší, ale až v řádu stovek až tisíců buněk.
Nebo použitím pomocného výpočtu v nějaké buňce ze které bude makro načítat číslo řádku kam chcete zapisovat.
Do buňky A1 až A10 zapíše číslo cyklu. Místo pevného čísla můžete použít proměnnou s číslem aby se hodnota zapsala do následující buňky.
Kód: Vybrat vše
for a = 1 to 10
'sem se vkládá kód který je potřeba provádět v cyklu
cells(a,1) = a
next
V cyklu můžete do proměnné přidat načtené buňky a pomocí následujícího příkazu zjistíte poslední řádek prázdné buňky v listu kam chcete zapsat výsledek:
Kód: Vybrat vše
promena = worksheets("List1").cells(a,1)
x = cells(rows.count, 1).end(xlup).row 'zjistit poslední použitou buňku
cells(x+1,1) = promena 'zapsat výsledek
V případě, že nad oblastí kam chcete zapsat výsledky jsou prázdné buňky, nebo pod danou oblastí jsou další data bude potřeba použít jinou metodu, např. další cyklus: for b = 1 to 10
Makro pak bude o něco pomalejší, ale až v řádu stovek až tisíců buněk.
Nebo použitím pomocného výpočtu v nějaké buňce ze které bude makro načítat číslo řádku kam chcete zapisovat.
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 1
- 387
-
od Grimm
Zobrazit poslední příspěvek
12 bře 2024 21:43
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů