Makro - spustit pod podmínkou

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Zamčeno
Transmit
nováček
Příspěvky: 29
Registrován: 28 led 2010 13:33

Makro - spustit pod podmínkou

Příspěvek od Transmit »

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
Azuzula
Level 3
Level 3
Příspěvky: 452
Registrován: 14 led 2012 18:44
Bydliště: Země, bohužel...
Kontaktovat uživatele:

Re: Makro - spustit pod podmínkou

Příspěvek od Azuzula »

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)

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.
Uživatelský avatar
eLCHa
Level 1
Level 1
Příspěvky: 72
Registrován: 03 dub 2010 10:02
Bydliště: Ostrava
Kontaktovat uživatele:

Re: Makro - spustit pod podmínkou

Příspěvek od eLCHa »

@Azuzula

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
eL CHá ;)
Kdo hledá, najde. Jenom je třeba hledat pořádně. Zkuste tohle- opravdu to funguje ;)
No vidíš, když se díváš pořádně, tak jedou ;)
Transmit
nováček
Příspěvky: 29
Registrován: 28 led 2010 13:33

Re: Makro - spustit pod podmínkou

Příspěvek od Transmit »

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.

Kód: Vybrat vše

If Cells(Selection.Row, 10) = "" Then
MsgBox "Chybí data."
Else
Application.Run "vytvor_formular1"
End If
End Sub
Zamčeno
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Battlefield 4 nejde spustit...
    od liborek » » v Hry
    0 Odpovědi
    8565 Zobrazení
    Poslední příspěvek od liborek
  • Fortnite nejde spustit
    od makojed » » v Hry
    7 Odpovědi
    7944 Zobrazení
    Poslední příspěvek od makojed
  • Počítač jde spustit až na druhý pokus
    od RoseWalker » » v Problémy s hardwarem
    8 Odpovědi
    9804 Zobrazení
    Poslední příspěvek od sim20
  • Firewall WIndows Defender nejde spustit
    od Richard_ZZR » » v Windows 11, 10, 8...
    1 Odpovědi
    3216 Zobrazení
    Poslední příspěvek od Tint
  • MS Office nelze spustit - Exception code: 0xc0000005
    od krysarr » » v Windows 11, 10, 8...
    3 Odpovědi
    6191 Zobrazení
    Poslední příspěvek od pcmaker

Zpět na „Kancelářské balíky“