Makro - spustit pod podmínkou Vyřešeno

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

Moderátor: Mods_senior

Transmit
nováček
Příspěvky: 29
Registrován: leden 10
Pohlaví: Muž
Stav:
Offline

Makro - spustit pod podmínkou  Vyřešeno

Příspěvekod Transmit » 08 pro 2014 19:03

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

Reklama
Azuzula
Level 3
Level 3
Příspěvky: 452
Registrován: leden 12
Bydliště: Země, bohužel...
Pohlaví: Žena
Stav:
Offline
Kontakt:

Re: Makro - spustit pod podmínkou

Příspěvekod Azuzula » 08 pro 2014 22:17

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: duben 10
Bydliště: Ostrava
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Makro - spustit pod podmínkou

Příspěvekod eLCHa » 09 pro 2014 07:07

@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: leden 10
Pohlaví: Muž
Stav:
Offline

Re: Makro - spustit pod podmínkou

Příspěvekod Transmit » 09 pro 2014 08:23

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


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Fortnite nejde spustit
    od makojed » 27 lis 2024 17:12 » v Hry
    7
    4692
    od makojed Zobrazit poslední příspěvek
    21 led 2025 18:23
  • Firewall WIndows Defender nejde spustit
    od Richard_ZZR » 02 pro 2024 16:26 » v Windows 11, 10, 8...
    1
    1682
    od Tint Zobrazit poslední příspěvek
    02 pro 2024 19:41
  • MS Office nelze spustit - Exception code: 0xc0000005
    od krysarr » 18 dub 2025 15:52 » v Windows 11, 10, 8...
    3
    3493
    od pcmaker Zobrazit poslední příspěvek
    20 dub 2025 20:38
  • Služba DPS (Diagnostic Policy Service) nejde spustit
    od Richard_ZZR » 02 pro 2024 16:33 » v Windows 11, 10, 8...
    0
    1993
    od Richard_ZZR Zobrazit poslední příspěvek
    02 pro 2024 16:33

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

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti