Você não forneceu o nome ou o índice de suas planilhas, por isso tive que usar os índices genéricos de 1
& 2
.
As informações limitadas fornecidas, isso é o melhor que posso fazer por você. Mas não deve ser difícil modificar o código para se adequar ao que você está querendo fazer exatamente.
Option Explicit
Sub copyTransactions()
' ws = the worksheet that contains the code to copy
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets(1)
'Create a multi-dimensional array that contains your two columns of data
Dim myArr() As Variant
myArr = ws.UsedRange.Columns("A:B").Value
'ws2 = the worksheet you are copying TO
Dim i As Long, ws2 As Worksheet, x As Long
Set ws2 = ThisWorkbook.Worksheets(2)
'Loop the array, and if it matches your month of 2 (Feb) then copy
'the data from ws to ws2
With ws2
For i = 1 To UBound(myArr)
If month(myArr(i, 1)) = 2 Then ' 2 = February
x = x + 1
.Cells(x, 1) = myArr(i, 1) ' the ,1 is column A
.Cells(x, 2) = myArr(i, 2) ' the ,2 is column B
End If
Next
End With
End Sub
O que você está fazendo em poucas palavras é pegar as colunas A + B e colocá-las na matriz myArr()
. Em seguida, você fará o loop dessa matriz na coluna A e definirá critérios para corresponder a qualquer mês que corresponda ao seu índice mensal de 2 (2 = fevereiro). Se encontrado, você então copia o array para ws2
.