Dobrý den,
poradil by někdo, prosím, jak nastavit, aby se makro spouštělo pouze, pokud daná buňka obsahuje hodnotu?
V tuto chvíli spouštím makro při již označeném celém řádku. Řádek s daty makro překopíruje do požadovaného formuláře a ten už si data roztřídí.
Potřebuji docílit toho, aby ve chvíli, kdy si označím celý řádek a následně chci spustit makro, bylo makro podmíněno tím, že pokud například v x-tém sloupci označeného řádku není vepsaná hodnota, makro vyhodí msgbox "Chybí data." a makro se nespustí.
Jedná se vždy o jiný řádek. Pouze sloupec v označeném řádku je vždy stejný. Např. sloupec "J".
Děkuji předem za jakoukoliv odpověď.
Štěpán
Makro - spustit pod podmínkou Vyřešeno
-
- Level 3
- Příspěvky: 452
- Registrován: leden 12
- Bydliště: Země, bohužel...
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Makro - spustit pod podmínkou
Ahoj,
na začátek makra které spouštíš vlož následující kód a uprav si jakou "hodnotu" má testovat a číslo sloupku (teď je 10tj. sloupec J)
na začátek makra které spouštíš vlož následující kód a uprav si jakou "hodnotu" má testovat a číslo sloupku (teď je 10tj. sloupec J)
Kód: Vybrat vše
If Cells(Selection.Row, 10) <> "testovaná hodnota" Then
MsgBox "Chybí data"
End
End If
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: Makro - spustit pod podmínkou
@Azuzula
Používání End ve VBA se nedoporučuje. Pokud už to chcete napsat tak, jak to máte, použijte Exit Sub.
Odkrokujte si tento kód od procedury Test1
Potom přepište End na Exit Sub o odkrokujte znova.
Toto je jen v rychlosti, co mně napadlo - kdybych přemýšlel déle, napadnou mně nebezpečnější věci - ale na ukázku by to mělo stačit
Používání End ve VBA se nedoporučuje. Pokud už to chcete napsat tak, jak to máte, použijte Exit Sub.
Kód: Vybrat vše
Sub Test1()
Application.EnableEvents = False
Call Test2
Application.EnableEvents = True
End Sub
Sub Test2()
Application.ScreenUpdating = False
Call Test3
Application.ScreenUpdating = True
End Sub
Sub Test3()
End
End Sub
Odkrokujte si tento kód od procedury Test1
Potom přepište End na Exit Sub o odkrokujte znova.
Toto je jen v rychlosti, co mně napadlo - kdybych přemýšlel déle, napadnou mně nebezpečnější věci - ale na ukázku by to mělo stačit
Re: Makro - spustit pod podmínkou
Ahoj,
díky za reakce. Nevěděl jsem si rady s odkazem na buňku v desátém sloupci. Makro jsem zapsal takto a vše funguje.
díky za reakce. Nevěděl jsem si rady s odkazem na buňku v desátém sloupci. Makro jsem zapsal takto a vše funguje.
Kód: Vybrat vše
If Cells(Selection.Row, 10) = "" Then
MsgBox "Chybí data."
Else
Application.Run "vytvor_formular1"
End If
End Sub
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 9
- 1111
-
od mmmartin
Zobrazit poslední příspěvek
29 srp 2023 16:47
-
- 1
- 2816
-
od petr22
Zobrazit poslední příspěvek
04 říj 2023 09:25
-
- 13
- 1536
-
od PARKR
Zobrazit poslední příspěvek
20 pro 2023 09:18
-
- 0
- 1962
-
od janekdeeste
Zobrazit poslední příspěvek
26 zář 2023 07:42
-
- 28
- 1565
-
od akem
Zobrazit poslední příspěvek
30 pro 2023 22:19
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti