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
  • Makro pro myš Rapture Python
    od mmmartin » 27 srp 2023 15:18 » v Problémy s hardwarem
    9
    1111
    od mmmartin Zobrazit poslední příspěvek
    29 srp 2023 16:47
  • Chyba - nelze spustit Příloha(y)
    od Jonáš Brožek » 04 říj 2023 08:32 » v Kancelářské balíky
    1
    2816
    od petr22 Zobrazit poslední příspěvek
    04 říj 2023 09:25
  • Nelze spustit windows defender Příloha(y)
    od PARKR » 19 pro 2023 17:29 » v Windows 11, 10, 8...
    13
    1536
    od PARKR Zobrazit poslední příspěvek
    20 pro 2023 09:18
  • AMD Adrenaline Edition - nelze spustit
    od janekdeeste » 26 zář 2023 07:42 » v Vše ostatní (sw)
    0
    1962
    od janekdeeste Zobrazit poslední příspěvek
    26 zář 2023 07:42
  • nelze spustit wifi po vměně karty Příloha(y)
    od akem » 28 pro 2023 14:33 » v Problémy s hardwarem
    28
    1565
    od akem Zobrazit poslední příspěvek
    30 pro 2023 22:19

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

Kdo je online

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