Por exemplo: Se o valor da caixa de texto ou da caixa de combinação for “OK”, a cor fica verde, se for “NÃO”, a cor fica vermelho.
Igual a formação condicional,mas em vez de ser em uma célula é numa caixa de texto ou caixa de combinação.
Alguém consegue meajudar?
A Caixa de Texto ou Combinação estará:
a) diretamente na planilha, ou seja, ancorada em alguma célula, p. ex. ? ou,
b) em uma Caixa de Diálogo, tipo um formulário?
.
Sendo a primeira opção, a resposta dada por @James_Zimmerman provavelmente te atenderá. Sendo em uma caixa de diálogo, o caminho é um pouco diferente.
Obrigado por responder, Felipe. Mas a resposta do James me ajudou.
I created a macro named “conditionalColor” and activated it on the Event “when losing focus” of the text box. When you exit the text box the background color will change to green if you typed “OK” and red for anything else.
Criei uma macro chamada “ConditionalColor” e ativei-a no Evento “quando perdi o foco” da caixa de texto. Quando sai da caixa de texto, a cor de fundo mudará para verde se escrever “OK” e vermelho para qualquer outra coisa.
Sub conditionalColor
On Error Goto ErrHandler
Dim oForm As Object
Dim oMyControl As Object
Dim sControlContent As String
REM I have named my form "MainForm" so set the oForm variable to represent my MainForm
REM Eu nomeei o meu formulário "MainForm" então definir a variável oForm para representar o meu MainForm
oForm = ThisComponent.Drawpage.Forms.getByName("MainForm")
REM I named the text box "txtOKcolor" so set oMyControl to represent that text box
REM Nomeei a caixa de texto "txtOKcolor" por isso desemcotuo oMyControl para representar aquela caixa de texto
oMyControl = oForm.getByName("txtOKcolor")
REM Check the "Text" content in the Control: see if it says "OK"
REM Verifique o conteúdo "Texto" no Controlo: veja se diz "OK"
sControlContent = oMyControl.Text
If sControlContent = "OK" then
REM set Green background
REM definir fundo verde
oMyControl.BackgroundColor = RGB(232,242,161)
Else
REM set Red background
REM conjunto de fundo vermelho
oMyControl.BackgroundColor = RGB(255,166,166)
End If
ExitSub:
Exit Sub
ErrHandler:
If MsgBox ("Error " & Err & " at line " & Erl & " - " & Error$ & Chr$(13) & "Continue?", MB_ICONSTOP + MB_YESNO , "Error in Sub conditionalColor") = IDYES Then
Resume Next
Else
Resume ExitSub
End IF
End Sub
Deu certo. Muito obrigado.