Adicionado em: | 30/04/2011 |
Modificado em: | 30/04/2011 |
Tamanho: | Vazio |
Downloads: | 1656 |
Saberexcel - o site de quem precisa aprender Macros Microsoft Excel VBA
Essa macro do Aplicativo Microsoft Excel VBA(Visual Basic Application), insere um contador na ordem decrescente na coluna(B), dependendo da condição da célula (L1) se 'Verdadeiro' ou 'Falso', se for FALSO, então executará a macro, inserindo uma contangem descendente no total de números dependendo dos números inseridos nas células(D2) e célula(F2). Observe o interessante do macro que poderá ser útil algum dia, é que
se a condição for 'VERDADEIRO', então o macro selecionará a célula(L1) e a Instrução SendKeys abrirá a lista suspensa existente mostrando o conteúdo desta lista para que o usuário clique onde desejar. Espero que o macro lhe seja útil. Fique com Deus. Expedito Marcondes.
Sub contador_descendente()
Dim Resposta As String
If [L1].Value = True Then
MsgBox "na codição verdadeira sairá do macro", vbInformation, "Saberexcel - site das macros" 'se for falso faça...
[L1].Select
SendKeys "%{Down}"
Else
'observe que nesta mensagem, inserí a primeira e última célula para retornar a pergunta, os sinais & e [, são somente para separar números
Resposta = MsgBox("Deseja inserir um contador descendente DE: [ " & [H2].Value & " ] à [ " & [b65000].End(xlUp).Value & " ]", vbYesNo, "Saberexcel - site das macros")
If Resposta = 6 Then
limpar_dados
If [L1] = False Then
For j = 1 To [D2].Value 'primeiro loop que adicionará centenas
Range("B2").Select
For i = 1 To [F2].Value 'segundo loop adicionará unidades
ActiveCell.FormulaR1C1 = "=R[1]C+1"
[b65000].End(xlUp).Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=R[1]C+1"
Next i
Next j
End If
[K1].Select
Else
Exit Sub
End If
End If
End Sub
Sub limpar_dados()
[B:B].ClearContents
[B2].Value = 1
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 planiha contendo os macros acima
Adicionado em: | 18/02/2011 |
Modificado em: | 18/02/2011 |
Tamanho: | Vazio |
Downloads: | 3071 |
Saberexcel - site das macros
Essa macro do Aplicativo Microsoft Excel VBA(Visual Basic Application), contém contadores que faz um contagem pausada por milesimos de segundos, por uma Declaração Sleep(DLL) do Excel. Neste exemplo inserí dois contadores uma com a instrução Do..Until Loop e For...Next., com intuíto didático. Espero que o exemplo possa ajudá-lo. Fique com Deus, E_Marcondes
'Option Explicit
'API declaração suspende a operação por milésimo de segundos (Milliseconds)
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub contador_com_time_tarefa()
'contador com time para determinada tarefa
Dim i, x
[tarefas].ClearContents
Do Until i = 10
i = i + 1
Range("A1") = i
Sleep 1000
If Range("A1").Value = "20" Then
MsgBox "Hora de Fechar"
Exit Sub
End If
Loop
'poderia fazer isso somente em um contador Do Until,
'mas dividi em dois contadores outro com a instrução For Next com intuito didático.
'Fiquem com Deus. E_Marcondes
' SEGUNDO CONTADOR COM FOR NEXT....
[A3].Select
For x = 1 To 20
x = x + 1 'tarefas pares
[A3].Value = x
ActiveCell.Offset(1, 0).Value = "Tarefa [ " & x & "ª.]"
ActiveCell.Offset(1, 0).Select
Sleep 1000
Next x
ActiveCell.Offset(2, 0).Value = " FINAL TAREFAS "
MsgBox ("Tarefas concluídas com sucesso!!"), vbInformation, "Saberexcel - site das macros"
[C1].Select
End Sub
Aprenda tudo sobre o Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com
os produtos didáticos SaberExcel
Adicionado em: | 11/02/2011 |
Modificado em: | 11/02/2011 |
Tamanho: | Vazio |
Downloads: | 950 |
Saberexcel - o site das Macros
Essa macro do Aplicativo Microsoft Excel VBA(Visual Basic Application) do insere um contado na Coluna(A), com auxilio da propriedade Offset, desloca dados para coluna b que fará a personalização da contagem do laço - loop for next, também usei o Método Evaluate que é muito útil no uso em programação, como faz as WorksheetFuncions esse método também retorna um valor, para onde voce desejar, poderá em uma mensagem, células, objeto label ou textobx, etc... baixe o exemplo de planilha no final da página.
Sub Inserir_dados_loop_contador()
Dim I As Integer
Dim vContador As Integer
Range("A1").Select
[A2:B120].ClearContents
For I = 1 To 20
If Plan1.Range("A1").Value = "São Paulo" Then
ActiveCell.Offset(1, 0).Value = "Capital"
ActiveCell.Offset(1, 1).Value = "Contador..: " & I & "º."
ActiveCell.Offset(1, 0).Select
vContador = vContador + 1
vContador = Plan1.Evaluate("COUNTIF(A1:A1000, ""Capital"")")
MsgBox vContador 'para o código a cada loop para exibir a msg
End If
Next I
End Sub
Worksheet.Método Evaluate |
Sintaxe
expressão.Evaluate(Name)
expressão Uma variável que representa um objeto Worksheet.
Parâmetros
Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
---|---|---|---|
Name | Obrigatório | Variant | O nome do objeto, usando a convenção de nomenclatura do Microsoft Excel. |
Valor de retorno
Variant
Comentários
Os tipos de nomes do Microsoft Excel a seguir podem ser usados com este método.
Evaluate("[BOOK1.XLS]Sheet1!A1")
. Charts("Chart1").Evaluate("Legend").Font.Name
retorna o nome da fonte usada na legenda.Observação |
---|
O uso de colchetes (por exemplo, "[A1:C5]") é idêntico a chamar o método Evaluate com um argumento de sequência de caracteres. Por exemplo, os pares das expressões a seguir são equivalentes. |
Visual Basic for Applications |
---|
|
A vantagem do uso de colchetes é que o código fica menor. A vantagem do uso de Evaluate é que, como o argumento é uma sequência de caracteres, você pode construir a sequência no código ou usar uma variável do Visual Basic.
Exemplo
Este exemplo ativa a formatação em negrito na célula A1 de Sheet1.
Adicionado em: | 21/01/2011 |
Modificado em: | 21/01/2011 |
Tamanho: | Vazio |
Downloads: | 1122 |
Saberexcel - site das macros
Esta macro do Aplicativo Microsoft Excel VBA (Visual Basic Application) , irá inserir uma iautonumeração na folha de planilha e auxiliado no código por contador ( Variável ) com pausa de tempo no loop (Laço) e rolando a tela, isso deverá acontecer na coluna(A) até a linha 100, depois, vai passar para a Coluna(B) e inserir até o número 200 e encerrar a operação. simples.
Duvida,
Prezado Senhor Marcondes,
Preciso urgentemente de uma macro que role a tela pela coluna(A) inserindo uma autonumeração, até o número cem, porém ao concluir, deverá R - Silvia, você poderá inserir o tempo desejado, isto é regular a velocidade no próprio código, mais lento, mais rápido, do jeito que você desejar.
Espero que seja isso que esteja precisando... Fique com Deus, Boa Sorte.
Essa macro vai pausar o tempo do loop
Sub Tempo(SbTempo)
Dim VelhoTempo As Variant
If SbTempo < 0.01 Or SbTempo > 300 Then SbTempo = 1
VelhoTempo = Timer
Do
DoEvents
Loop Until Timer - VelhoTempo >= SbTempo
End Sub
'Esta é a macro do excel vba que vai rolar a tela e inserir a autonumeração na velocidade que quiser.
Sub rola_tela()
Dim contador, contador2 As Integer
contador = 1
contador2 = 101
limpar
[A1].Select
'primeiro loop na coluna(A)
For Each rolatela In Range("A1:A100")
rolatela.Value = contador
ActiveCell.Offset(1, 0).Select
contador = contador + 1
Tempo 0.5
Next rolatela
[B1].Select
'segundo loop na coluna(B)
For Each rolatela In Range("B1:B100")
rolatela.Value = contador2
ActiveCell.Offset(1, 0).Select
contador2 = contador2 + 1
Tempo 0.5
Next rolatela
End Sub
Sub limpar()
[A1:B200].ClearContents
End Sub
Aprenda tudo sobre o pAplicativo Microsoft Excel VBA (Visual Basic Application)
Sozinho, com baixo custo, praticando com os produtos didáticos SaberExcel
Adquira já o Acesso Imediato
à Area de Membros
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
<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>
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