Spuštění makra pod podmínkou

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

Moderátor: Mods_senior

Zamčeno
junis
nováček
Příspěvky: 46
Registrován: 25 bře 2022 21:21

Spuštění makra pod podmínkou

Příspěvek od junis »

Zdravím.
Jak zajistit, aby makro šlo spustit jen pokud je v sešitu List1. (Pokud List1 chybí napíše hlášku)
Uživatelský avatar
Grimm
Level 2
Level 2
Příspěvky: 165
Registrován: 30 zář 2017 20:50

Re: Spuštění makra pod podmínkou

Příspěvek od Grimm »

Kód: Vybrat vše

Sub TestListu()

Dim List As Worksheet
Dim Existuje As Boolean

For Each List In ThisWorkbook.Worksheets
    If List.Name Like "List1" Then
        Existuje = True
        Exit For
    End If
Next List
        
If Existuje = False Then
    MsgBox "List ""List1"" neexistuje!" & vbNewLine & "Makro bude ukončeno!", vbCritical, "Chyba"
    Exit Sub
End If

MsgBox "KONEC MAKRA", vbInformation, "Vše maká"

End Sub
Nepíšeš o co konkrétně se pokoušíš, pokud je Tvé makro závislé na konkrétním jméně listu a hrozí, že jej uživatelé mohou změnit a tím znefunkčnit kód, je na čase se zaměřit na CodeName listu.
Které si nastavíš v editoru VBA v okně Properties (Name) a v kódu se odkazuješ na toto jméno. Toto jméno (CodeName) je nezávislé na jméně, které se objevuje na oušku listu v prostředí excelu. Uživatel si pak může jméno listu na oušku libovolně měnit bez negativních dopadů na kód makra.
junis
nováček
Příspěvky: 46
Registrován: 25 bře 2022 21:21

Re: Spuštění makra pod podmínkou

Příspěvek od junis »

Tohle je super. Funguje na jedničku.
Šlo by jestě prosím doplnit aby pokud bude hodnota v Listu3 bunce D2 větší než 1 makro nahlásilo hlášku a nic neprovádělo?
Děkuji
Uživatelský avatar
Grimm
Level 2
Level 2
Příspěvky: 165
Registrován: 30 zář 2017 20:50

Re: Spuštění makra pod podmínkou

Příspěvek od Grimm »

Do kódu přidáš jen další podmínku

Kód: Vybrat vše

Sub TestListu()

Dim List As Worksheet
Dim Existuje As Boolean

For Each List In ThisWorkbook.Worksheets
    If List.Name Like "List1" Then
        Existuje = True
        Exit For
    End If
Next List
       
If Existuje = False Then
    MsgBox "List ""List1"" neexistuje!" & vbNewLine & "Makro bude ukončeno!", vbCritical, "Chyba"
    Exit Sub
End If

If Worksheets("List3").Range("D2").Value > 1 Then
    MsgBox "Hodnota na listu ""List3"" je mimo povolený rozsah!" & vbNewLine & "Makro bude ukončeno!", vbCritical, "Chyba"
    Exit Sub
End If

MsgBox "KONEC MAKRA", vbInformation, "Vše maká"

End Sub

junis
nováček
Příspěvky: 46
Registrován: 25 bře 2022 21:21

Re: Spuštění makra pod podmínkou

Příspěvek od junis »

Špica, funguje bez chyb. Moc děkuju za pomoc.
Zamčeno
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Spuštění PC
    od Elbeckho » » v Problémy s hardwarem
    11 Odpovědi
    6231 Zobrazení
    Poslední příspěvek od Kminek
  • Chybová hláška your device ran into a problem and needs to restart při spuštění pc
    od nevim1050 » » v Vše ostatní (hw)
    7 Odpovědi
    9598 Zobrazení
    Poslední příspěvek od petr22

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