Home Excel - Dicas Microsoft Excel VBA Excel VBA - Perguntas e Respostas Excel planilha vba questoes perguntas e respostas retorna em um shapes

Excel planilha vba questoes perguntas e respostas retorna em um shapes

E-mail Imprimir PDF

Saberexcel - o site das macros

Esta macro do Aplicativo Microsoft Excel VBA(Visual Basic Application), contém uma macro que gera uma pergunta aleatória  faz um loop nas respostas e de forma aleatoria a resposta é direcionada para uma autoforma(Shapes). A busca é realizada em outra planilha (Banco de Dados).
O exemplo tem finalidade didática.  (observe que a simetria no código facilita muito o entendimento)
Veja bem, no aprendizado VBA você tem por obrigação em aprender, o que são esses vocábulos e seus membros mais importantes.

CÓDIGOS ESTÃO NA PRIMEIRA LINHA DA MACRO
  Set c = Sheets("BD").Range("A1").Offset(Int(Rnd() * [Questoes].Count + 1), 0)

'Set' , 'c'  , 'Sheets', 'Range', 'OffSet', 'Int', 'Rnd','questoes-range dinamico nomeado','Count',. - 
(viu que não é dificil) esses nomes são "Vocábulos do VB"



             A B
1 VOCABULÁRIO   << S I G N I F I C A D O >>
 2 Instrução Set Atribui uma referência de objeto a uma variável ou propriedade
 3 Variável c Variáveis servem para armazenarmos dados e usarmos quando necessário
 4 Objeto Range Representa uma célula, uma linha, uma coluna, uma seleção de células
contendo um ou mais blocos contíguos de células ou um intervalo 3D.
 5  Propriedade Offset  Retorna um objeto Range, que representa um intervalo que é deslocado
do intervalo especificado
 6 Instrução Int Função que retorna parte de um inteiro
 7 Funçao Rnd Função que retorna um Single que contém um número aleatório
 8 Propriedade Count Retorna um Long (número inteiro longo) que contém o número de objetos de uma coleção.
9 COMO SABER Teclando F1 no VBE na palavra chave, abrirá o Help do item selecionado.

 Sub Gera_questao_resposta_aleatoria()
    Set c = Sheets("BD").Range("A1").Offset(Int(Rnd() * [Questoes].Count + 1), 0)

    Saber1.Shapes("sb").Visible = False
    Saber1.Shapes("sbm").Visible = False
    Saber1.Shapes("sbm1").Visible = False

   
With Sheets("Questões")
       
        [B5] = c            
        [C5] = c(1, 3)
        [D5] = c(1, 4)
        [E5] = c(1, 5)
        [F5] = c(1, 6) 'código
       
        'essa instrução With foi criada para retornar os valores no Shapes(Autoforma)'Saber'
        With .Shapes("Saber")
             .TextFrame.Characters.Text = c(1, 2)
             .Visible = False
        End With
      
    End With
  [F8].Select
End Sub

essa macro foi criada somente para tornar os shapes(autoformas) visíveis.
Sub ver()
    Saber1.Shapes("Saber").Visible = True
    Saber1.Shapes("sb").Visible = True
    Saber1.Shapes("sbm").Visible = True
    Saber1.Shapes("sbm1").Visible = True  
End Sub

'caso queira programar pela folha de código da folha de planilha, bem simples olhe no projeto vba
'caso o usuário mude o nome da folha de planilha lá na aba das planilha, não ocorrerá o erro de
'localização do objeto Worksheet. Ok...

Sub Gera_questao_resposta_aleatoria_1()
    Set c = Saber2.Range("A1").Offset(Int(Rnd() * [Questoes].Count + 1), 0)
    With Saber1 'planilha Questões
       
        [B5] = c
        [C5] = c(1, 3)
        [D5] = c(1, 4)
        [E5] = c(1, 5)
        [F5] = c(1, 6) 'código
       
        'essa instrução With foi criada para retornar os valores no Shapes(Autoforma)'Saber'
        With .Shapes("Saber")
             .TextFrame.Characters.Text = c(1, 2)
             .Visible = False
        End With
   
    End With
End Sub




Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel





  baixe o exemplo de planilha contendo as macros acima.
Excel planilha vba perguntas e resposta retorna valor shapes (48.43 Kb) 

Última atualização em Dom, 14 de Agosto de 2011 12:45  

Adicionar comentário

"Jamais considere seus estudos como uma obrigação, mas como uma oportunidade invejável para aprender a conhecer a influência libertadora da beleza do reino do espírito, para seu próprio prazer pessoal e para proveito da comunidade." Albert Einstein


Código de segurança
Atualizar

PROMOÇÃO DIDÁTICOS SABEREXCEL



Adquira já o Acesso Imediato
à Area de Membros

Compra Grantida --- Entrega Imediata

Aprenda Excel VBA com Simplicidade de 
códigos e Eficácia, Escrevendo Menos e
Fazendo Mais.

'-------------------------------------'
Entrega Imediata:
+  500 Video Aulas MS Excel VBA
+  35.000 Planilhas Excel e VBA
+  Coleção 25.000 Macros MS Excel VBA
+  141 Planilhas Instruções Loops
+  341 Planilhas WorksheetFunctions(VBA)
+    04 Módulos Como Fazer Excel VBA
+  Curso Completo MS Excel VBA
+  Planilhas Inteligentes


Pesquisa Google SaberExcel

Publicidade Google

<script type="text/javascript"><!--

google_ad_client = "ca-pub-2317234650173689";

/* retangulo 336 x 280 */

google_ad_slot = "0315083363";

google_ad_width = 336;

google_ad_height = 280;

//-->

</script>

<script type="text/javascript"

src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

</script>

Publicidade

RSFirewallProtected


Google Associados

Depoimentos

Comprei o material com receio (afinal sou mineirinha...rsss)... Entrega rápido e confiável! Excelente trabalho! Recomendado!...

Elaine Cristina
Assistente de Controladoria, Belo Horizonte
17 August 2012
Muito obrigado. Vou fazer muita propaganda do seu trabalho, muito bom, tudo que conseguir eu te encaminho.Se tiver mais alguns trabalhos no sentido de facilitar o aprendizado estarei a disposição para estar adiquirindo. Fiquei muito feliz com o material recebido ate agora. Valeu, muito obrigado...

Eder - Gerência Orçamento de Gastos
Curitiba-PR
20 April 2011

Adicione Saberexcel Favoritos

 
 

Aprenda tudo sobre o Aplicativo Microsoft Excel VBA

Aprenda tudo sobre o Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel,


   Sobre as WorksheetFunctions Funções de Planilhas que retornam valores do VBA