Dobrý den, potřebuji poradit s tímto problémem: Mám makro, které do listu vloží tři ovládací prvky.
Sub Makro1()
'
' Makro1 Makro
'
'
Range("A4").Select
ActiveSheet.CheckBoxes.Add(1.5, 45, 93.75, 17.25).Select
Selection.Characters.Text = "Zateplení"
With Selection
.Value = xlOff
.LinkedCell = "A4"
.Display3DShading = True
End With
Range("C4").Select
ActiveSheet.CheckBoxes.Add(96, 45, 91.5, 17.25).Select
Selection.Characters.Text = "Výměna zdroje"
With Selection
.Value = xlOff
.LinkedCell = "B4"
.Display3DShading = True
End With
Range("E4").Select
ActiveSheet.CheckBoxes.Add(191.25, 44.25, 99.75, 17.25).Select
Selection.Characters.Text = "Využití odpadního tepla"
With Selection
.Value = xlOff
.LinkedCell = "C4"
.Display3DShading = True
End With
Range("B2").Select
End Sub
Je podmíněně spouštěno dalším makrem na základě hodnoty v buňce B2. Když je B2="5.1" vloží se ovládací prvky.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim VRange As Range
Set VRange = Range("B2") 'hlídaná buňka
If Union(Target, VRange).Address = VRange.Address Then
If VRange = "5.1" Then Call Makro1 'zavolá makro vase_makro
End If
End Sub
Nyní ale potřebuji, aby když se hodnota B2 změní, ovládací prvky zase zmizely. Zkoušel jsem přes záznam makra, ale nefunguje to.
Nemám zkušenosti, nevím, zda raději vytvořit nové makro, které bude prvky mazat, nebo jestli je možné něco jako undo makra, případně zda to lze vyřešit úpravou spouštěcího makra...
Mohl by mi tedy někdo, prosím, poradit?
Děkuji.
Makro, které vymaže ovládací prvky vložené makrem
-
- Level 3
- Příspěvky: 452
- Registrován: leden 12
- Bydliště: Země, bohužel...
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Makro, které vymaže ovládací prvky vložené makrem
Vítám Tě na PC-HELPu.
Prosím, když sem dáváš nějaký kód, tak ho vkládej do tagu Code pro přehlednost. Děkujeme :)
A teď k dotazu. Nejprve bych checkboxu už při jeho vytvoření přiřadila nějaký název (v ukázce "xyz1"), podle toho jde snadno identifikovat a odstranit.
1.
2.
Když budeš chtít mazat víc checkboxů najednou, tak jejich názvy jednoduše přidáš do závorek a oddělíš je čárkou: Array("xyz1","xyz2", atd.)
Tohle celé můžeš nahradit 1. kódem.
--- Doplnění předchozího příspěvku (02 Dub 2015 12:33) ---
Mazání checkboxů pak můžeš provádět buď automaticky makrem na základě definované změny na listu v buňce, nebo tlačítkem ručně.
Prosím, když sem dáváš nějaký kód, tak ho vkládej do tagu Code pro přehlednost. Děkujeme :)
A teď k dotazu. Nejprve bych checkboxu už při jeho vytvoření přiřadila nějaký název (v ukázce "xyz1"), podle toho jde snadno identifikovat a odstranit.
1.
Kód: Vybrat vše
'vytvoření checkboxu
With ActiveSheet.CheckBoxes.Add(1.5, 45, 93.75, 17.25)
.Name = "xyz1"
.Characters.Text = "Zateplení"
.Value = xlOff
.LinkedCell = "A4"
.Display3DShading = True
End With
2.
Kód: Vybrat vše
'odstraní checkbox podle jeho názvu
ActiveSheet.Shapes.Range(Array("xyz1")).Delete
Když budeš chtít mazat víc checkboxů najednou, tak jejich názvy jednoduše přidáš do závorek a oddělíš je čárkou: Array("xyz1","xyz2", atd.)
Tohle celé můžeš nahradit 1. kódem.
Kód: Vybrat vše
Range("A4").Select
ActiveSheet.CheckBoxes.Add(1.5, 45, 93.75, 17.25).Select
Selection.Characters.Text = "Zateplení"
With Selection
.Value = xlOff
.LinkedCell = "A4"
.Display3DShading = True
End With
--- Doplnění předchozího příspěvku (02 Dub 2015 12:33) ---
Mazání checkboxů pak můžeš provádět buď automaticky makrem na základě definované změny na listu v buňce, nebo tlačítkem ručně.
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.
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.
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
-
Problém s ovladači GK Toshiba A350
od Toshiba-64bit-A350 » 16 bře 2024 10:12 » v Problémy s hardwarem - 16
- 2488
-
od Toshiba-64bit-A350
Zobrazit poslední příspěvek
16 bře 2024 21:01
-
-
- 9
- 1362
-
od mmmartin
Zobrazit poslední příspěvek
29 srp 2023 16:47
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů