In cell K2 in first workbook is written today's date which is the reference for the name of other workbook. I need to take some information from a second open workbook whose file name is today's date ("13.06.2021.xlsx").
I created variable second_workbook which is the date. Then I created variable called "cellscopy" (active cell from first workbook and to copy 3 more cells to the right of it). Then the macro pastes a value in cell I2 in the first workbook (there's a formula in J2 rearranging the account number) and then J2 is the criteria for filter from a third workbook called "Bank accounts.xlsx".
My macro then finds the value from first workbook cell J2 ("criteria") from "Bank accounts.xlsx" in columns I:I and copies a value 5 columns leftward from that cell - a bank acc number corresponding to that batch number.
I created a variable "accnumber" which is then pasted in a filter in a table in the second workbook ("13.06.2021.xlsx"). Then the filtered range from the table is copied and pasted in a new workbook (NewWb) in cell A12. Then I need to go back to the first workbook and copy the "cellscopy" range and paste it again in the new workbook which was created at cell C7.
However, I get a run-time error 438 Object doesn't support this property or method highlighting the last line of my VBA code.
Can you please help me with this issue? I hope I could explain you as clear as possible my problem.
    second_workbook = Range("K2").Value
    Dim wb As Workbook
    Dim actWb As Workbook, newWb As Workbook, shAct As Worksheet, shNew As Worksheet
    Dim cellscopy As Range
    Set cellscopy = Range(ActiveCell, ActiveCell.Offset(0, 3))
    Set actWb = ActiveWorkbook
    Set shAct = actWb.Sheets(1)
    Set newWb = Workbooks.Add
    Set shNew = newWb.Sheets(1)
    Set wb = Workbooks(Format(second_workbook, "dd.mm.yyyy") & ".xlsx")
    Dim batchnumber As Range
    Selection.Copy
    Range("I2").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Criteria = Range("J2").Value
    Windows("Bank Accounts.xlsx").Activate
    Set batchnumber = Range("I:I").Find(Criteria & "TT")
    If Not batchnumber Is Nothing Then
        batchnumber.Select
    End If
    ActiveCell.Offset(0, -5).Range("A1").Select
    accnumber = ActiveCell
    wb.Activate
    ActiveSheet.Range("$A$1:$G$654").AutoFilter Field:=5, Criteria1:=accnumber
    Range("C1").Activate
    Selection.CurrentRegion.Select
    Application.CutCopyMode = False
    Selection.Copy
    newWb.Activate
    Range("A12").Select
    ActiveSheet.Paste
    shAct.Range(cellscopy).Copy Destination:=newWb.Range("C7:F7")
I am getting error 438 at the last line.
I hope I explained as clear as possible my issue. If you could help me I would appreciate it very much
 
     
    