Acesso Livre - Registrados (REGISTRE-SE!)
Adicionado em: | 28/02/2014 |
Modificado em: | 28/02/2014 |
Tamanho: | Vazio |
Downloads: | 893 |
Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções
Este Macro e Procedimentos do Aplicativo Microsoft Excel VBA(Visual Basic Application), realiza uma soma automaticamente ao digitar na coluna(b),
retorna a soma na celula(c2). usando o evento Worksheet_Change 'ao escrever, alterar' celulas em area especifica.
Private Sub Worksheet_Change(ByVal Target As Range)
x = Range("c" & Rows.Count).End(xlUp).Row
If Not Intersect(Range("C2:C" & x), Target) Is Nothing Then
sbx_somar_valores
End If
End Sub
'
Sub sbx_somar_valores()
Dim i As Integer
For i = 2 To Cells(Rows.Count, "c").End(xlUp).Row + 1
tSoma = tSoma + Cells(i, "c").Value
Next i
[e2].Value = tSoma
End Sub
Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos
Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.
Adicionado em: | 30/04/2013 |
Modificado em: | 30/04/2013 |
Tamanho: | Vazio |
Downloads: | 703 |
Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções
Escola Saberexcel VBA Estudos®
Treinamentos com Macros, Fórmulas e Funções
Site....: http://www.microsoftexcel.com.br
Email..: [email protected]
'//========================'
RESPONDENDO A VARIAS DÚVIDAS:
1- ) gera números Aleatórios(Colunas(C), Coluna(E))
2-) Mostra as formulas da Coluna(G)) nas coluna(I) Função ExisteFormulas
3-) faz os calculos por linha(como nas formulas )(usando Lin,col - Propriedade Cells() )
'//======='(Subtrai(Colunas(E-C), Divide por 5 e multiplica por 5,76
4-com o mesmo macro faz acumulo de Valores em Variavel ((xSoma))
//=======' e retorna valores variaveis para linha 24 que é linha de totais
- (Treinamento com Do While Until
5- há também uma soma isolada das colunas(C), Coluna(E), Coluna(K)
'//=======' o Loop percorrerá todas as células das colunas [acumulando valores em variaveis Soma]
'//======='até encontrar a palavra Total, quando encontrar descarrega os valores das variaveis nas colunas correspondentes
Sub sbx_gerar_numeros_aleatorios()
Dim tSoma, vSoma, zSoma, ySoma As Double
For i = 4 To Cells(Rows.Count, "a").End(xlUp).Row
If i = 21 Then Exit For 'para inserir números aleatórios depois da linha 21 (Palavra Total)
Cells(i, "c").Value = CDbl(Application.WorksheetFunction.RandBetween(200, 1000) & "," & Application.WorksheetFunction.RandBetween(1, 99))
Cells(i, "e").Value = CDbl(Application.WorksheetFunction.RandBetween(3000, 5000) & "," & Application.WorksheetFunction.RandBetween(1, 99))
Cells(i, "b").NumberFormat = "0.00"
Cells(i, "e").NumberFormat = "0.00"
Cells(i, "i") = "'" & ExisteFomula(Range("G" & CStr(i)))
Cells(i, "k").Value = (Cells(i, "e").Value - Cells(i, "c").Value) / 2 * 5.76
'//========='variaveis soma acumulando valor (Linhas e Colunas especificas)
tSoma = tSoma + Cells(i, "c").Value 'aproveitando o Instrução for next para inserção Soma
vSoma = vSoma + Cells(i, "e").Value
zSoma = zSoma + Cells(i, "g").Value
ySoma = ySoma + Cells(i, "k").Value
Next i
Cells(i + 3, "c").Value = tSoma
Cells(i + 3, "e").Value = vSoma
Cells(i + 3, "g").Value = zSoma
Cells(i + 3, "k").Value = ySoma
End Sub
'//======='
'fiz a soma também por variaveis no macro anterior para ilustrar [Somando com Variaveis]
'mas segue um treinamento com Do While
Sub sbx_soma_do_while_treinamentos()
Dim tSoma, vSoma, zSoma, ySoma As Double
i = 4
If Application.WorksheetFunction.CountA(Range("c4:c20")) = 0 Then
MsgBox ("insira primeiramente os números aleatórios"), vbCritical, "Escola Saberexcel VBA Estudos®"
End If
Do Until Cells(i, "A").Value = "Total"
tSoma = tSoma + Cells(i, "c").Value
vSoma = vSoma + Cells(i, "e").Value
zSoma = zSoma + Cells(i, "g").Value
ySoma = ySoma + Cells(i, "k").Value
i = i + 1
Loop
Cells(i, "c").Value = tSoma 'descarrega variavel - valores acumulados linha palavra "Total"
Cells(i, "e").Value = vSoma
Cells(i, "g").Value = zSoma
Cells(i, "k").Value = ySoma
End Sub
'//=======' função personalizada mostra fórmulas
Function ExisteFomula(sbxCell)
ExisteFomula = sbxCell.FormulaLocal
End Function
'//=======' macro chama a funcao ExisteFormulas, mostrando formulas na coluna (I)
Sub sbx_mostrar_formulas()
Dim i As Integer
For i = 4 To Cells(Rows.Count, "c").End(xlUp).Row
Cells(i, "i") = "'" & ExisteFomula(Range("G" & CStr(i)))
Next i
End Sub
'//=======' Limpar as os range nas colunas c,e,i,k, e celulas,
Sub sbx_limpar_teste()
Dim vRange As Range
For Each vRange In Range("C4:C20,E4:E20,I4:I20,K4:K20,c24,e24,g24,k24")
vRange.ClearContents
Next vRange
End Sub
'//=======' Limpar as somas que foram inseridas pelo macro (Do While Until)
Sub sbx_limpar_teste_Total()
[c24,e24,g24,k24].ClearContents
End Sub
'//======='
Fiquem com Deus,
Expedito Marcondes
Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.
Baixe o exemplo de planilha contendo os macros acima.
Adicionado em: | 06/04/2013 |
Modificado em: | 06/04/2013 |
Tamanho: | Vazio |
Downloads: | 1069 |
Escola Saberexcel VBA Estudos - Treinamentos com Macros, Fórmulas e Funcoes
Esse macro do aplicativo Microsoft excel VBA, chamado por um Evento_Change da folha de planilha, isto é, ao escrever 'digitar',
na folha de planilha em coluna determinada pelo procedimento, acumula os valores em variavel e retorna para célula (C3)
somando automaticamente ao digitar.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([c4:c500], Target) Is Nothing And Target.Count = 1 Then
somar_questao_1
End If
End Sub
Sub sbx_somar_questao_1()
Dim i As Long
Dim tSoma As Double 'se houver decimais
For i = 4 To Plan1.Cells(Rows.Count, "c").End(xlUp).Row
tSoma = tSoma + Cells(i, "c").Value
Next i
Cells(3, 3).Value = tSoma
End Sub
'//============= SEGUNDA QUESTÃO ==============='
Esse macro responde a sua segunda questão que Deleta a linha da célula ativa,
e insere um contador, mantendo-o na forma original.
Sub sbx_deletar_linhas_questao_2()
Dim i As Long
'deletar linhas da célula ativa
'msgbox pergunta
x = MsgBox("Deseja deletar a linha celula da ativa " & ActiveCell.Address & " ?", vbYesNo, "titulo qualquer")
If x = 6 Then ' 6 = sim
ActiveCell.EntireRow.Delete
End If
'contador para repor o contador
For i = 5 To 50
Cells(i, "c").Value = (i - 4)
Next i
End Sub
Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.
Baixe o exemplo de planilha contendo os macros e procedimento acima:
Adicionado em: | 25/06/2012 |
Modificado em: | 25/06/2012 |
Tamanho: | Vazio |
Downloads: | 804 |
Escola Saberexcel VBA Estudos® - O site de quem precisa Aprender tudo sobre Macros Microsoft Excel VBA
Esse macro do Aplicativo Microsoft Excel VBA(Visual Basic Application), adiciona 'Soma' um determinado valor digitado à um valor já existente(Antigo) em determinada célula na folha de planilha, com auxilio de um objeto Entrada de Dados (InputBox). isto é, ao digitar um novo valor no Objeto Entrada de Dados 'InputBox', esse valor será automaticamente adicionado, somando ao valor antigo da célula.
Porém fiz um retorno dos dados para a folha de planilha para prática com VBA(Visual Basic Application),
Espero que o exemplo possam lhe ser útil.
Fique com Deus,
Expedito Marcondes.
' - - - - - - - - - - - - - - -
'Essa macro foi retirada da
Coleção 15.000 Macros Microsoft Excel VBA Fórmulas e Funções 'Saberexcel
'- - - - - - - - - - - - - - - - - -
Sub sbx_somar_valores_inptubox_a1()
Dim vNovo As Currency
Dim vAntigo As Currency
Dim vAdicionarValor As Currency
Dim Mensagem, Titulo, Padrao
Mensagem = "Digite o novo valor!"
Titulo = "InputBox somar valores - "
x = "Escola Saberexcel VBA Estudos®"
Y = "Treinamento com Macros, Fórmulas e Funções"
Padrao = "0"
Z = "'- - -' Aprenda MS Excel VBA - SaberExcel ' - - -'"
On Error GoTo errosbx
'observe que usei atribuição variavel CCur() 'moeda' para aceitar somar a parte decimal ao digitar na inputbox
vAdicionarValor = CCur(InputBox(Mensagem & vbCrLf & x & vbCrLf & Y & vbCrLf & Z, Titulo & x, Padrao, 1))
vAntigo = Range("d4").Value
vNovo = vAntigo + vAdicionarValor
Range("d4").Value = vNovo
Saber1.Range("L65000").End(xlUp).Offset(1, 0).Value = vAdicionarValor
Saber1.Range("L65000").End(xlUp).Offset(0, 2).Value = vNovo
Saber1.Range("L65000").End(xlUp).Offset(0, 4).Value = Now()
Saber1.Range("L65000").End(xlUp).Offset(0, 6).Value = Application.UserName
Exit Sub
errosbx: Exit Sub ':MsgBox ("cancelado")
End Sub
Sub sbx_limpar_dados_teste()
Dim resposta As String
resposta = MsgBox("deseja deletar os dados já inseridos", vbYesNo + vbCritical, "Escola Saberexcel VBA Estudos®")
If resposta = 6 Then
[dados].ClearContents
End If
[I1].Select
End Sub
'Format(TotalArea, "0.00")
Sub sbx_teste_sbx_y()
Dim i As Integer, x As Variant
x = Application.InputBox("Entre com número", Type:=1)
If TypeName(x) = "Boolean" Then Exit Sub
i = CInt(x)
MsgBox i
End Sub
Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.
Adicionado em: | 12/12/2011 |
Modificado em: | 12/12/2011 |
Tamanho: | Vazio |
Downloads: | 1020 |
Saberexcel - o site de quem precisa aprender Macros Microsoft Excel VBA
Esse procedimento do Aplicativo Microsoft Excel VBA(visual Basic Application), insere uma soma automaticamente ao digitar na coluna(B),
observe que também que ao deletar um determinado número na colund(D) o valor é automaticamente atualizado, devido o uso da propriedade cells.
Espero que o exemplo possa lhe ser útil. Fique com Deus, Expedito Marcondes.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vTotal As Double
Dim vUltimaLinha As Long
'tres maneiras de localizar a última linha
vUltimaLinha = Cells(Cells.Rows.Count, "D").Row
'vUltimaLinha = Cells(Rows.Count, "D").Row
'vUltimaLinha = Plan1.Range("A65000").End(xlUp).Row 'esse linha de código não atualiza a deleção de dados.(subtrair o que foi deletado)
If Not Application.Intersect(Range("D1:D" & vUltimaLinha), Target) Is Nothing Then
vTotal = Application.WorksheetFunction.Sum(Range("D1:D" & vUltimaLinha))
[F3].Value = vTotal
End If
End Sub
Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.
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