Spuštění makra pod podmínkou Vyřešeno

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

Moderátor: Mods_senior

junis
nováček
Příspěvky: 39
Registrován: březen 22
Pohlaví: Muž
Stav:
Offline

Spuštění makra pod podmínkou

Příspěvekod junis » 20 dub 2022 21:44

Zdravím.
Jak zajistit, aby makro šlo spustit jen pokud je v sešitu List1. (Pokud List1 chybí napíše hlášku)

Reklama
Uživatelský avatar
Grimm
Level 2
Level 2
Příspěvky: 162
Registrován: září 17
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod Grimm » 21 dub 2022 00:03

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: 39
Registrován: březen 22
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod junis » 21 dub 2022 08:00

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: 162
Registrován: září 17
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod Grimm » 21 dub 2022 11:01

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: 39
Registrován: březen 22
Pohlaví: Muž
Stav:
Offline

Re: Spuštění makra pod podmínkou  Vyřešeno

Příspěvekod junis » 21 dub 2022 17:31

Špica, funguje bez chyb. Moc děkuju za pomoc.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • excel-posun makra
    od actionboy » 12 bře 2024 18:59 » v Kancelářské balíky
    1
    266
    od Grimm Zobrazit poslední příspěvek
    12 bře 2024 21:43
  • Pád PC po spuštění hry be BSOD
    od Radoozek » 07 pro 2023 15:00 » v Problémy s hardwarem
    4
    1346
    od Radoozek Zobrazit poslední příspěvek
    08 pro 2023 16:45
  • Artefakty na monitoru po spuštění
    od WinDroid » 30 čer 2023 15:47 » v Problémy s hardwarem
    2
    753
    od Mr. Incognito Zobrazit poslední příspěvek
    30 čer 2023 19:04
  • Program se stále ptá na spuštění při startu OS
    od Karrex » 17 pro 2023 15:09 » v Windows 11, 10, 8...
    2
    1035
    od zeus Zobrazit poslední příspěvek
    19 pro 2023 18:50
  • Skyrama Flash launcher, po spuštění - přihlášení BLACK SCREEN
    od Ramoneggg » 13 led 2024 17:43 » v Windows 11, 10, 8...
    2
    609
    od Ramoneggg Zobrazit poslední příspěvek
    13 led 2024 18:06

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

Kdo je online

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