Saberexcel - o site das macros
Um grande fantasma que assombra os meus amigos iniciantes programadores e futuros desenvolvedores é como localizar dados em uma folha de planilha, referenciá-los, localizá-los e dar uma saída para uma determinada célula em determinada folha de planilha.
Essa matéria usando a propriedade WorkseetFunction, Desloc(Offset), instrução Set e usar variáveis para localizar o final de uma determinada coluna, linha ou região de células é muito importante no aprendizado em desenvolvimento de planilhas automatizadas no Microsoft Excel VBA.
Estou desenvolvendo Planilhas inteligentes e será disponibilizadas nos módulos COMO FAZER, se Deus permirtir, que será de grande utilidade no aprendizado e desenvolvimento lógico de como lidar com macros e automatizar planilhas ms excel.
Neste exemplo tentei fazer algo mais para brincar com as macros para que você que esta tentando entender como funciona esses procedimentos que deslocam valores determinados para onde desejarmos, com esse conhecimento, com certeza aumentará e muito o grau de entendimento em desenvolvimento de planilhas o que faz falta para muitos que estão no mercado de trabalho precisando apresentar seus relatorios.
Observe que aqui, usamos variáveis para instrução set , com isso referenciamos a determinada folha de planilha, como também células e ou região de células (range).
Usamos a WorksheetFunction para retornar determinados valores, lembrando que o excel tem (+_) 340 funções para retorno de dados.
já fizemos os exemplos woksheetFunctions vba e fórmulas , que estão disponível no site.
brincando com macros veja essa:
- Iinicia deletando uma planilha de dados existente e inserindo outra com o mesmo nome.
- Localiza em outra folha de planilha os valores maximo e mínimo e insere nesta nova planilha em determinados lugares(celulas-predefinidas)
- Insere um cabeçalho com altura de linhas e largura de colunas pré-definidas
- Insere uma mensagem com quebra de linhas retornando valores desejados.
- Variáveis localizam final da linha para servir como referencia em busca de dados.
Bom.. Espero que possa ajudá-lo em alguma coisa..
Fique com Deus, Boa Sorte.
E_Marcondes
Sub Aprender_brincando()
Application.DisplayAlerts = False
Worksheets("Dashboard").Delete 'deletar a planilha DashBoard existente
On Error GoTo 0 'tratando erro
Set WSD = Worksheets("Dados") 'referenciando a planilha Dados
Set WSL = ActiveWorkbook.Worksheets.Add 'adicionando uma nova planilha
WSL.Name = "Dashboard" 'nomeando a planilha
FinalLinha = WSD.Cells(1, 1).CurrentRegion.Rows.Count ' localizando a area usada a partir da célula(a1)
WSD.Cells(2, 4).Resize(FinalLinha - 1, 3).Name = "Meus_Dados"
WSL.Select
'com finalidade didática vamos inserir um cabeçalho um cabeçalho na linha(A) da planilha Dashboard
With WSL.Range("B1:E1")
.Value = Array(2007, 2008, 2009, 2010)
.HorizontalAlignment = xlCenter
'.Style = "Title"
.ColumnWidth = 39 'largura das colunas
.Offset(1, 0).RowHeight = 100 ''altura das linhas
End With
'A Instrução Set é para fazermos uma referencia a determinado ítem
' alguns usam o termo 'setar' ou referenciar determinadas células para retornar as worksheetFunction
Set WF = Application.WorksheetFunction
vMinimo = WF.Min(WSD.Range("D2:F" & FinalLinha))
vMaximo = WF.Max(WSD.Range("D2:F" & FinalLinha))
Cells(3, 2).Value = "VALORES : MAXIMO E MÍNIMO" 'inserindo dados na célula b3
'veja que os dois pontos(:) na frente do código significa (linha de baixo)
[A17] = Int(vMinimo): [A17].Offset(0, 1).Value = "Mínimo"
ActiveCell.Offset(3, 1).Value = Int(vMinimo) & " --- MINIMO"
'veja que os dois pontos(:) na frente do código significa (linha de baixo)
[A18] = Int(vMaximo + 0.9): [A18].Offset(0, 1).Value = "Máximo" 'ACRESCENTANDO 0.9
ActiveCell.Offset(4, 1).Value = Int(vMaximo) & " --- MAXIMO"
'observe que com o que voce aprendeu acima,
'voce poderá dar a saída para qualquer célula de qualquer planilha
'& vbCrLf & =(quebra de linhas na mensagem)
MsgBox "Acabamos de Deletar uma planilha" & vbCrLf & _
"- Inserimos uma nova planilha chamada Dashboard e nesta planilha: " & vbCrLf & _
"- localizamos determinadas células e inserimos resultado maximo e mínimo" & vbCrLf & _
"- Inserimos um cabeçalho na nova planilha através de um Array()" & vbCrLf & _
"- Inserimos determinada largura em colunas e altura em linhas" & vbCrLf & _
"_____________" & vbCrLf & _
"Valores Máximo : " & vMinimo & vbCrLf & _
"Valores Mínimo : " & vMaximo & vbCrLf & _
"______________________________" & vbCrLf & _
"Saberexcel - o site das macros", vbInformation, "Aprendendo brincando com macros - Saberexcel"
End Sub
Aprenda tudo sobre o Aplicativo Microsoft Excel VBA - com Saberexcel
Baixe o exemplo de planilha contendo a macro
Publicidade:
Compre com segurança, bons preços, garantia nas lojas SubMarino