Estou trabalhando em uma matriz onde você pode comparar produtos e suas opções entre si. Eu criei uma macro vinculada a uma tabela de dados na minha pasta de trabalho (portáteis com nome). Quando você clicar nas caixas de seleção das opções, ele incluirá os dados da pasta de trabalho do Portables e os colocará na pasta de trabalho da matriz. Você pode clicar em cada caixa de seleção para incluir a opção; no entanto, algumas das opções estão incluídas no produto. Eu estou procurando uma maneira que quando você clica na caixa de seleção do produto, ele irá verificar automaticamente as caixas que estão incluídas no produto. Abaixo está o código VBA que usei.
Sub AddCheckBoxes()
On Error Resume Next
Dim c As Range, myRange As Range
Set myRange = Selection
For Each c In myRange.Cells
ActiveSheet.CheckBoxes.Add(c.Left, c.Top, c.Width, c.Height).Select
With Selection
.LinkedCell = c.Address
.Characters.Text = ""
.Name = c.Address
End With
c.Select
With Selection
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, _
Formula1:="=" & c.Address & "=TRUE"
.FormatConditions(1).Font.ColorIndex = 2 'change font color to white when checked
.FormatConditions(1).Interior.ColorIndex = 2 'change backgrounf color to white when checked
.Font.ColorIndex = 2 'change font color to white when unchecked
.Interior.ColorIndex = 2 'change background color to white when unchecked
End With
Next
myRange.Select
End Sub
Eu serei grato por qualquer ajuda.
Tags microsoft-excel vba