Ir ao conteúdo
  • Cadastre-se
Codename Fox

Formulia em vba

Recommended Posts

Senhores, bom dia.

 

 

 

Estou tentando automatizar um modelo de comentários em VBA (que inclusive não sei se é a melhor linguagem pra isso, help pl0x).

Vou tentar explicar o que quero e mostrar o que já tenho.

 

Preciso desenvolver um programa que elabore um comentário de acordo com algumas funções. Por exemplo: Ao clickar na checkbox "idade", preciso que ele printe na tela a seguinte frase "Cliente confirma: idade"; Caso mais de uma seja "checkada", como 'idade' e 'endereço anterior', a mensagem seria: "Cliente confirma: idade e endereço anterior".
Não sei se estou sendo claro, mas quero automatizar essa questão de comentários.

 

Preciso elaborar dois campos em texto que formatem os números digitados para esse formato: (xx) xxxx-xxxx ou (xx) xxxxx-xxxx.

Outro feature desse programa seria uma Combobox "Status" que teria diversas opções, e ao selecionar alguma dessas opções, ela printasse na mesma box que as informações acima, algo como "O status do pedido é: 'valor da combobox' ".

Sou totalmente leigo no assunto, tanto em programação quanto Excel. Tudo que consegui até agora foi com auxilio e tutoriais.

Se alguém puder me dar uma luz, serei bastante grato.

 

 

Muito obrigado desde já.

 

Segue os anexos e o código.

 

 




Private Sub BT_Finalizacao_Click()

Dim texthist As String
Dim textflag As String
Dim textbank As String
Dim textmom As String
Dim textage As String
Dim i As Integer
Dim j As Integer

j = 1

BT_Limpa_Click

texthist = "Histórico OK"
textflag = "Bandeira"
textbank = "Banco"
textmom = "Nome Completo da Mãe"
textage = "Idade"

If Formulario.CheckBoxHist.Value = True Then Range("A1").Value = texthist
If Formulario.CheckBoxBandeira.Value = True Then Range("A2").Value = textflag
If Formulario.CheckBoxBanco.Value = True Then Range("A3").Value = textbank
If Formulario.CheckBoxMãe.Value = True Then Range("A4").Value = textmom
If Formulario.CheckBoxIdade.Value = True Then Range("A5").Value = textage

For i = 1 To 10
    If Range("A" & i).Value <> "" Then Range("B" & i).Value = " e "
    If Range("A" & i).Value = "" Then Range("B" & i).Value = ""
Next

'Começo do código para escrever o texto:

Range("D5").Value = "Titular confirma: " + Chr(13) + Chr(10)
    ' Não entendi esse chr(13) & chr(10), ,mas pula linha...

Do While Range("B" & j).Value = ""
    j = j + 1
    Loop

Range("B" & j).Value = ""

For i = 1 To 10
    Range("D5").Value = Range("D5").Value + Range("B" & i).Value + Range("A" & i).Value
Next

'TENTAR COLOCAR NUMERO MINIMO DE BOXES CHECADOS!

End Sub

Private Sub BT_Limpa_Click()

Range("A1:A10").Value = ""
Range("B1:B10").Value = ""
Range("D5").Value = ""

End Sub

Private Sub CheckBoxBandeira_Click()

End Sub

Private Sub CheckBoxHist_Click()

End Sub

Private Sub CheckBoxIdade_Click()

End Sub

Private Sub CheckBoxMãe_Click()

End Sub

Private Sub UserForm_Click()

End Sub

 

 

Notem que o resultado aparece no Excel, mas eu gostaria que ele fosse printado na tela como um "printf" em C.

 

 

Novamente, muito obrigado!

teste1.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Basole Vou tentar exemplificar a aplicação dele.

Trabalho com um programa na qual eu preciso comentar a finalização do pedido, e é um processo muito chato ficar digitando toda vez. Quero padronizar e automatizar o máximo possível.
Na imagem tem a forma que eu consegui criar em alternativa para o "printf". Atribui um comando a cada check box, que quando 'checkada', manda um texto para o excel, que depois de concluido, consigo copiar e colar no campo de comentário do programa que utilizo. [EDIT] Acho que ficou parecendo que tem que ser no Excel o resultado, mas se printar em uma outra janela criada pelo programa seria melhor ainda. Por exemplo: Eu checko a box idade e nome da mãe, coloco o telefone celular, fixo e seleciono o pedido como aprovado; Preciso que o programa printe algo como "Cliente confirma: Idade e nome da mãe. Celular: (xx) xxxxx-xxxx. Fixo: (xx) xxxx-xxxx. Pedido aprovado."[/EDIT]

 

Não sei se ficou claro o que quis dizer, mas se houver dúvidas, tento esclarecer melhor.

 

 

Não consigo passar o .xlsm pra cá.

 

Editado por Codename Fox

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para anexar um arquivo *.xlsm neste forum, é necessario compacta-lo, no formato *.zip

Ou faça um upload do arquivo em um site gratuito e insira aqui o link. 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×