Makro, které vymaže ovládací prvky vložené makrem
Napsal: 02 dub 2015 10:53
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.
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.