segunda-feira, 1 de setembro de 2014

Excel VBA: Tabulando formulários de pesquisa de satisfação

Seus clientes preencheram uma pesquisa de satisfação? E agora você está com uma pilha de papel e não sabe como fazer para transformá-la em informação? Nem sabe por onde começar?

Situações como essa vemos com bastante frequência. Recebemos, semanalmente, dois ou três e-mails com a seguinte pergunta: “- Como eu faço agora para tabular a pesquisa que eu realizei?”

Baixe aqui, gratuitamente, um modelo em EXCEL 2013 que criamos para auxiliá-los nessa questão.

Neste artigo você encontrará a explicação completa da concepção até a conclusão do modelo.




Apresentaremos neste artigo uma dentre inúmeras maneiras  que podemos utilizar para tabular nossas pesquisas. Criamos um cenário onde temos um formulário de pesquisa que será preenchido à mão, diariamente, por diversos clientes de uma rede hoteleira. Este questionário será composto por 4 perguntas e as respostas serão RUIM, REGULAR, BOM ou EXCELENTE, marcadas com um X na opção desejada.


Organização lógica do formulário de pesquisa

Nosso formulário está organizado da seguinte maneira:

  • Nome do hotel, sua bandeira no grupo hoteleiro e a sua cidade são campos fixos;
  • A data será preenchida pelo cliente
  • O cliente poderá ou não se identificar
  • O cliente marcará um X na opção desejada para cada uma das quatro perguntas.



Visão conceitual do nosso processo

Nosso processo processo será dividido em cinco etapas, a seguir:




Etapa 1 - Coleta de dados - Pesquisar


    • A coleta será no momento do check-out
    • ocasionalmente a coleta será quando o cliente solicitar o formulário de satisfação

Modelo do Formulário de pesquisa

Apresentamos abaixo o modelo de formulário que será usado em nossa pesquisa hipotética:


No exemplo acima o formulário está preenchido com um cliente que foi identificado como 571, no "Hotel Vitória 161", pertencente à bandeira "BAND C" do grupo hoteleiro, cidade de "Vitória", no dia 24/02/2011.

Etapa 2 - Lançar questionários


    • Os questionários deverão ser lançados periodicamente, conforme intervalo definido pelo gestor do grupo, em uma planilha Excel. Abaixo ilustramos a planilha que criamos para este artigo:


Notem que o nosso questionário, referente ao cliente 571, já se encontra lançado. Observem também que o formulário foi integralmente transcrito para a tabela e está ocupando apenas uma linha, e, para cada uma das perguntas, o valor preenchido está conforme os pesos definidos: RUIM = 0, REGULAR=1, BOM=2  e EXCELENTE=3.





Etapa 3 - Preparar a base de dados

No artigo "Excel: Entendendo e manipulando corretamente uma lista", discutimos técnicas para tirarmos o maior proveito possível de uma lista. Como certamente desejaremos efetuar análises e consultas por todos os campos de nosso formulário, precisamos que cada resposta seja cadastrada em uma linha. Como nosso formulário possui 4 respostas possíveis, uma para cada pergunta (num total de 4), teremos para cada linha digitada na tabela de digitação 4 outras na tabela de base de dados, conforme ilustramos abaixo:


Sabemos que esse é um trabalho longo, repetitivo e altamente suscetível a erros, portanto, criamos a macro abaixo para fazer esse trabalho por nós:




Option Explicit

Sub GerarBase()
    Dim Origem As Worksheet
    Dim Destino As Worksheet
    Dim Ultimo As Integer
    Dim LinhaDestino As Integer
    Dim questionario As Range
    Dim colPergunta As Integer
    Set Origem = Sheets("DIGITAÇÃO DOS QUESTIONARIOS")
    Set Destino = Sheets("BASE DE DADOS")
    
    Ultimo = Origem.Range("a3").End(xlDown).Row
    
    Destino.Rows("2:64000").EntireRow.Delete
    LinhaDestino = 2
    For Each questionario In Origem.Range("a4:a" & Ultimo)
        If questionario.Value = "" Then Exit For

        For colPergunta = 6 To 9
            Destino.Cells(LinhaDestino, 1).Value = questionario.Value
            Destino.Cells(LinhaDestino, 2).Value = questionario.Offset(0, 1).Value
            Destino.Cells(LinhaDestino, 3).Value = questionario.Offset(0, 2).Value
            Destino.Cells(LinhaDestino, 4).Value = questionario.Offset(0, 3).Value
            Destino.Cells(LinhaDestino, 5).Value = questionario.Offset(0, 4).Value
            Destino.Cells(LinhaDestino, 6).Value = DateValue(Year(questionario.Offset(0, 4).Value) & "-" & _
                                                   Month(questionario.Offset(0, 4).Value) & "-01")
            Destino.Cells(LinhaDestino, 7).Value = Origem.Cells(3, colPergunta).Value
            Destino.Cells(LinhaDestino, 8).Value = Origem.Cells(questionario.Row, colPergunta).Value
            LinhaDestino = LinhaDestino + 1
        Next
        
    Next
    Ultimo = Destino.Range("A1").End(xlDown).Row
    
    ActiveWorkbook.Names.Add Name:="BASEDEDADOS", RefersToR1C1:="='BASE DE DADOS'!R1C1:R" & Ultimo & "C8"
        
    AtualizarResumos
End Sub

Sub AtualizarResumos()
    Dim Planilha As Worksheet
    Dim Resumo As PivotTable
    For Each Planilha In ThisWorkbook.Sheets
        For Each Resumo In Planilha.PivotTables
            Resumo.PivotCache.Refresh
        Next
    Next
End Sub

Essa macro executa as seguintes atividades:
  • Identifica quantos questionários serão compilados
  • Varre toda a base de questionários e, para cada um, cria 4 linhas na "base de dados", uma para cada pergunta / resposta
  • ao final, atualiza todos as tabelas dinâmicas criadas para analisar os dados.

Etapa 4 - Atualizar / Criar análises

A partir do momento em que temos nossa base de dados devidamente preparada, devemos atualizar os nossos resumos.





Criamos neste modelo uma planilha chamada ANÁLISE, e nela criamos um conjunto de TABELAS DINÂMICAS, gráficos, segmentações de dados e linhas do tempo. Criamos apenas para ilustrar, mostrando um caminho, mas cada um deverá criar suas análises conforme seus próprios modelos.

Utilizamos também, conforme demonstraremos a seguir, técnicas de SEGMENTAÇÃO DE DADOS e de LINHA DO TEMPO.



 Usando o objeto LINHA DO TEMPO podemos fazer uma análise considerando cronologia em diversos agrupamentos:




Usando SEGMENTAÇÃO DE DADOS podemos filtrar nossos resumos, simultaneamente, de inúmeras maneiras:



Podemos combinar SEGMENTAÇÃO DE DADOS  e LINHA DO TEMPO e enriquecer muito nossa análise:

Enfim, quanto melhor prepararmos nossa base, mais rica e detalhada poderá ser nossa análise.


Etapa 5 - Ajustar processos / Serviços

E para terminar, de nada adiantará nossa pesquisa de satisfação sem que tenhamos, ao final, atividades para ajustarmos nossos produtos e serviços conforme nos apontou a pesquisa.



E o ciclo se completa e começa novamente, com nova pesquisa.

Se você desejar, clique aqui  para baixar o arquivo modelo pronto.

Leiam também outros artigos em NOSSO BLOG.


Estamos aqui, à disposição, aceitando sugestões para novos artigos.

Aproveitem e conheçam o site da nossa empresa: www.excelline.net.

Contem conosco!



Se você quiser saber mais sobre VBA, recomentamos o seguinte livro:


Curta a nossa página
Agosto/2014

GILBERTO GOMES
ExcelLine - Office World
Google+  +gilberto gomes
Related Posts Plugin for WordPress, Blogger...

Compartilhe