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

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