Saberexcel - o site das macros
Esse procedimento do Aplicativo Microsoft Excel VBA(Visual Basic Application), está inserido no Módulo de Edição da Folha de Planilha no Evento Change, isto é, quando digitar(escrever), executa a ação. O procedimento procurará pela palavra determinada na célula(C25), e preencherá com os restante dos dados dessa linha. Observe que usei uma forma simples de programação, para retornar valores, para que aqueles alunos que tem dificuldade com Excel VBA e possa ir aprendendo a lidar com as propriedades Cells e OffSet, que muito importante no aprendizado.
Não deixe de ver o MODULO COMO FAZER - Programação MS Excel VBA -- Propriedade OffSet(Desloc) - VBA.
Local Procura: Células(A1 a A21)
Valor a procurar: B25 (preenchendo os dados e no intervalo de células (C25,D25,E25,F25,G25,H25,I25)
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vLinha As Integer
'verifica se foi alterada a célula B35
If Not Intersect([B25], Target) Is Nothing Then
Dim vRange As Range
' Area a procurar
Set vRange = Range("A1:A21")
' Caso encontre
If Not vRange.Find([B25], MatchCase:=True) Is Nothing Then
' Verifica o índice da Linha encontrada
vLinha = vRange.Find([B25], MatchCase:=True).Row
'Insere os valores correspondente aos dados
[C25].Value = Cells(vLinha, 2).Value
[D25].Value = Cells(vLinha, 3).Value
[E25].Value = Cells(vLinha, 4).Value
[F25].Value = Cells(vLinha, 5).Value
[G25].Value = Cells(vLinha, 6).Value
[H25].Value = Cells(vLinha, 7).Value
[I25].Value = Cells(vLinha, 8).Value
[J25].Value = Cells(vLinha, 9).Value
Cells(vLinha, 10).Value = "Bons Estudos - [ " & vLinha & "] - " & "Ítem [ " & Cells(vLinha, 1).Value & " ]"
Else
' Limpa os valores
[C25].Value = ""
[D25].Value = ""
[E25].Value = ""
[F25].Value = ""
[G25].Value = ""
[H25].Value = ""
[I25].Value = ""
[J25].Value = ""
End If
End If
End Sub
Aprenda tudo sobre o Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel
Baixe o exemplo de planilha contendo o procedimento acima
vba propriedade cells range retorna intervalos celulas (32.29 KB 2011-02-26 08:12:17)