Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por marcowiskhy
#46125
Bom dia, boa tarde ou boa noite rs, gostaria que me ajudassem por gentileza.

Tenho uma planilha de abertura de chamados para operadoras de internet do brasil, onde eu tenho os seguintes campos:

Unidade: o usuário escolhe através de uma lista a unidade federativa do Brasil
Designação: dados técnicos sobre roteador, circuito, etc. (esse campo já é preenchido através de procv)
Circuito: dados técnicos sobre roteador, circuito, etc. (esse campo já é preenchido através de procv)
Técnico: dados técnicos sobre roteador, circuito, etc. (esse campo já é preenchido através de procv)
Telefone: dados técnicos sobre roteador, circuito, etc. (esse campo já é preenchido através de procv)
Motivo: o usuário escolhe através de uma lista o motivo da abertura do chamado
Protocolo: o usuário preenche o campo com o protocolo do chamado fornecido pela atendente da operadora
Gerar protocolo: é um campo com hiperlink que redireciona para uma nova aba chamada "Protocolo", onde puxa todos os dados citados acima e possibilita ao usuário salvar como pdf no diretório do windows.

Gostaria de fazer no VBA uma opção onde o campo de "Gerar protocolo" só esteja disponível para clicar caso o campo "Unidade", "Motivo" e "Protocolo" estejam preenchidos. Caso seja possível, eu substituiria o campo "Gerar protocolo" com hiperlink por um botão com macro realizando a mesma função.

Podem me ajudar?
Por JeffSchultz
Posts
#46136
Olá,

Segue o código que pode ser inserido no começo do código do botão "Gerar protocolo" assim antes de gerar ele verifica se foram preenchidos os requisitos.
Código: Selecionar todos
Sub verificar_em_branco()

Dim flag As Integer
flag = 0

If Range("A0").Value = "" Then
    MsgBox "Escolha uma Unidade", 48, "Campo em branco"
    flag = 1
End If
If Range("A1").Value = "" Then
    MsgBox "Escolha um Motivo", 48, "Campo em branco"
    flag = 1
End If
If Range("A2").Value = "" Then
    MsgBox "Preencha o protocolo", 48, "Campo em branco"
    flag = 1
End If
End Sub
Altere às células A0, A1, A2 pelas localização das suas células.
Por marcowiskhy
#46275
Opa amigo! Deu certo, só um porém. Acrescentei este código e no final, coloquei o "else" para redirecionar para a outra planilha, o único "entrave" é que se eu preencher somente o protocolo ele notifica os outros campos em branco mas ele redireciona de qualquer forma para a outra planilha, eu gostaria que esse campo de protocolo seguisse o comportamento do campo unidade e motivo.
Por marcowiskhy
#46276
Postando o código presente na planilha:

Private Sub CommandButton1_Click()
Dim flag As Integer
flag = 0

If Range("G12").Value = "" Then
MsgBox "Escolha uma Unidade", 48, "Campo em branco"
flag = 1
End If
If Range("G17").Value = "" Then
MsgBox "Escolha um Motivo", 48, "Campo em branco"
flag = 1
End If
If Range("G18").Value = "" Then
MsgBox "Preencha o protocolo", 48, "Campo em branco"
flag = 1
End If
Else
Sheets("PROTOCOLO TELEBRAS 1").Select
End Sub
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord