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 ecatarucci
Posts
#14954
Pessoal, boa tarde!

Preciso fazer um questionário e suponho que o VBA deve ser usado.
A minha necessidade é a seguinte:
Tenho uma arvore de decisões e dela será preciso fazer um questionário. São 6 perguntas no total, e dependendo da resposta, a próxima é cancelada (precisando desabilitar a opção daquela pergunta).
Segue tabela em anexo.


Lembrando que o valor " x " significa que a pergunta tem que ser cancelada.

Não sei quase nada de VBA, estou estudando sobre e se alguém puder me ajudar por favor. Não precisa fazer tudo, mas deixar algo já pronto e pra eu fazer o resto.

Fico agradecido desde já.
Por Dyegufds
#14976
Boa tarde,

Da uma olhada nessa planilha. Atendeu a sua necessidade?


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

''Se o valor da célula B3 for igual a sim
If (Range("B3").Value = "sim") Then

''Oculta a linha que contém a pergunta que você não quer exibir
Rows("4:4").EntireRow.Hidden = Hidden


''Oculta alguma coluna que você não quer exibir
''Columns("4:4").EntireRow.Hidden = Hidden


End If


End Sub
Por sonymartins
#14979
Olá amigo, segue em anexo a resolução do seu problema. Como a árvore é pequena, vc pode basicamente construir uma sequencia de IF's onde as respostas "sim" e "não" podem ser obtidas com o comando msgbox. Abaixo está o código:
Código: Selecionar todos
Sub Questionario()

Dim resposta As Integer

resposta1 = MsgBox("Pergunta 1:", vbYesNo, "Questionário")

If resposta1 = vbYes Then

    resposta2 = MsgBox("Pergunta 2:", vbYesNo, "Questionário")

    If resposta2 = vbYes Then
    MsgBox "peça A"
    Else
    MsgBox "peça B"
    End If

Else

    resposta3 = MsgBox("Pergunta 3:", vbYesNo, "Questionário")
    
    If resposta3 = vbYes Then
    MsgBox "Peça A"
    Else
    
        resposta4 = MsgBox("Pergunta 4:", vbYesNo, "Questionário")
        
        If resposta4 = vbYes Then
        
            resposta5 = MsgBox("Pergunta 5:", vbYesNo, "Questionário")
            
            If resposta5 = vbYes Then
            MsgBox "Peça C"
            Else
            MsgBox "Peça B"
            End If
        Else
        
            resposta6 = MsgBox("Pergunta 6:", vbYesNo, "Questionário")
            
            If resposta6 = vbYes Then
            MsgBox "Peça C"
            Else
            MsgBox "COMPRA DIRETA"
            End If
        End If
    End If
End If

End Sub
É isso, até mais.
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