Quero usar a caixa de texto do controle dfe formulário, vinculada a uma célula da planilha, de modo que que possa ativá-la ou desativá-la, de acordo com a informação que a mencionada célula contenha.
É possível?
Como faço?
Obrigado
Quero usar a caixa de texto do controle dfe formulário, vinculada a uma célula da planilha, de modo que que possa ativá-la ou desativá-la, de acordo com a informação que a mencionada célula contenha.
É possível?
Como faço?
Obrigado
Virgolino,
Tem como postar um exemplo (link para baixar) do que quer que o formulário faça.
Conforme seu exemplo quando for JULHO, você necessita de informação complementar, certo ?
Como esta em uma planilha, faça uma célula(s) pedir informação complementar:
Na célula que quer a informação complementar coloque esta formula
=SE(B4=“JULHO”;“Complete a informação aqui…”;""), supondo que em B4 esta a informação de chamada “JULHO”.
Atenção para Maiúsculas e minúsculas e no momento que for dado o complemento da informação a fórmula deixa de existir, a correção dever ser com desfazer.
Sim. Espero que a caixa de texto seja ativada ( me permitindo introduzir nela qualquer informação que deseje), quando escrever numa célula a palavra (hipotético) JULHO.
Da mesma forma, espero que a caixa de texto do formulário seja desativada, quando escrever na mesma célula a palavra (hipotético) AGOSTO.
É possível esse recurso? Como faço?
Obrigado
Virgolino, caso não tenha conseguindo ainda, poste um link para download da planilha para melhor te ajudar.
Crie o formulário na planilha, dentro do formulário crie a caixa de texto.
Coloque o código abaixo nas macros e vincule o evento “Conteúdo Alterado” nos Eventos de Planilha (clique com o botão direito na guia da planilha.
Ao alterar o conteúdo da célula B4 para “AGOSTO” a caixa será habilitada. Qualquer outro conteúdo desabilita a caixa.
Function setAtivaControle(Optional nomeForm as string, Optional nomeControle as string, Optional status as Boolean)
' Entre com o nome do controle e o status a aplicar
' O controle deve estar no formulário especificado
' O status é o valor de Ativado para o controle fornecido
' O controle deve ter a propriedade Ativado
' Valores padrões se forem omitidos
If isMissing(nomeControle) Then nomeControle = "Caixa1"
If isMissing(nomeForm) Then nomeForm = "Formulário"
If isMissing(status) Then status = True
ThisComponent.CurrentController.ActiveSheet.DrawPage.Forms.getByName(nomeForm).getByName(nomeControle).Enabled = status
End Function
[Sub AoAlterarPlanilha(oEvent)
Dim col_alterada, lin_alterada
col_alterada = oEvent.RangeAddress.StartColumn
lin_alterada = oEvent.RangeAddress.StartRow
If col_alterada = 1 and lin_alterada =3 Then ' célula "B4"
If oEvent.String = "AGOSTO" Then
setAtivaControle("Formulário", "Caixa1", True)
Else
setAtivaControle("Formulário", "Caixa1", False)
End If
End If
end Sub]
Em anexo vai a planilha pronta.
HabilitaDesabilitaControle.ods
Kadu Leite