Descricao: |
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.
|