Boa tarde gente,
sou iniciante em vba e preciso de ajuda.
Tenho 2 códigos que preciso juntar e fazer 1 somente.
este código abaixo faz uma pesquisa entre datas de uma planilha e cola em outra planilha. O problema dele é que ele só pesquisa em 1 coluna.
Sub Relatório()
Application.EnableEvents = False
' Verifica se o valor alterado foi na célula
'If Not Intersect([K1], Target) Is Nothing Then
Dim lastRow As Long
Dim lastResultRow As Long
Dim X As Long
' Verifica qual a ultima célula preenchida
lastRow = Plan1.Cells(Rows.Count, 1).End(xlUp).Row
' Apaga valores anteriores
Plan2.Range("A2:I65536").ClearContents
lastResultRow = 2 'linha resultado
' Ciclo em todas as linhas
For X = 2 To lastRow '1 Linha dados pequisa
' verifica se o valor é igual ao da pesquisa
If Plan1.Cells(X, 8).Value >= Plan2.[J1].Value And Plan1.Cells(X, 8) <= Plan2.[K1].Value Then '1 coluna pequisa
' Copia os valores
Plan2.Cells(lastResultRow, 1).Value = Plan1.Cells(X, 1).Value
Plan2.Cells(lastResultRow, 2).Value = Plan1.Cells(X, 2).Value
Plan2.Cells(lastResultRow, 3).Value = Plan1.Cells(X, 3).Value
Plan2.Cells(lastResultRow, 4).Value = Plan1.Cells(X, 4).Value
Plan2.Cells(lastResultRow, 5).Value = Plan1.Cells(X, 5).Value
Plan2.Cells(lastResultRow, 6).Value = Plan1.Cells(X, 6).Value
Plan2.Cells(lastResultRow, 7).Value = Plan1.Cells(X, 7).Value
Plan2.Cells(lastResultRow, 8).Value = Plan1.Cells(X, 8).Value
Plan2.Cells(lastResultRow, 9).Value = Plan1.Cells(X, 9).Value
lastResultRow = lastResultRow + 1
End If
Next
' End If
Application.EnableEvents = True
'somaEstab
End Sub
Já esse código aqui faz a pesquisa de somente UMA DATA em toodas as planilhas que eu tiver e consigo setar várias colunas ao mesmo tempo.
Private Sub CommandButton1_Click()
Dim valor As Integer
Dim c As Variant
Dim procurado As Variant
Dim result As VbMsgBoxResult
Dim i, QuantPlanilhas As Integer
QuantPlanilhas = ThisWorkbook.Worksheets.Count
If Me.txtdatalocalizar = Empty Then
MsgBox "Informar a data a ser pesquisada"
Me.txtdatainicial.SetFocus
Else
procurado = Me.txtLocalizar
If IsDate(procurado) Then
procurado = CDate(procurado)
End If
For i = 1 To QuantPlanilhas Step 1
With Worksheets(i).Range("E:Z")
Set c = .Find(procurado, LookIn:=xlValues)
If Not c Is Nothing Then
Worksheets(i).Select
Range(c.Address).Select
result = MsgBox("Deseja continuar a busca?", vbYesNo, "Continuar?")
If result = vbNo Then
Exit Sub
End If
End If
End With
Next
End If
End Sub
Eu preciso que os 2 códigos virem somente 1, que o código resultante tenha a pesquisa entre datas mostrando os resultados em uma planilha a parte (código 1) e que a pesquisa seja feita em todas as outras planilhas, em várias colunas, como no código 2.
Tentei de várias formas mas não sei como proceder
Postado : 16/02/2018 5:36 pm