Detalhes de vba perguntas e resposta retorna valor shapes

PropriedadeValor
Nome:vba perguntas e resposta retorna valor shapes
Descricao:

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 o Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com os produtos didáticos SaberExcel



Nome do arquivo:vba perguntas e resposta retorna valor shapes.zip
Tamanho: Vazio
Tipo:zip (Tipo de Mime: application/zip)
Autor:SaberExcel
Criado em: 12/02/2011 12:18
Visitas:Todos
Responsavel:Autor
Acessos:1285 Acessos
Atualizado em: 12/02/2011 17:49
Site: