You're still only sharing what you think is the problem area, not the whole of the code.

That said, I'd be inclined to do something like:

Dim shTWB As Worksheet
Dim shNWB As Worksheet
Set shTWB = Workbooks(TWB).Sheets("data")
Set shNWB = Workbooks(NWB).Sheets(NWBS)
With shTWB
    .Range("AZ" & CREF) = shNWB.Range("AD" & FREF)
    .Range("BA" & CREF) = shNWB.Range("AE" & FREF)
    .Range("BC" & CREF) = shNWB.Range("AF" & FREF)
    .Range("BD" & CREF) = shNWB.Range("AG" & FREF)
    .Range("BE" & CREF) = shNWB.Range("AH" & FREF)
    .Range("BF" & CREF) = shNWB.Range("AI" & FREF)
    .Range("BG" & CREF) = shNWB.Range("AV" & FREF)
    .Range("BH" & CREF) = shNWB.Range("AJ" & FREF)
    .Range("BI" & CREF) = shNWB.Range("AK" & FREF)
    .Range("BJ" & CREF) = shNWB.Range("AL" & FREF)
    .Range("BK" & CREF) = shNWB.Range("AM" & FREF)
    .Range("BL" & CREF) = shNWB.Range("AN" & FREF)
    .Range("BM" & CREF) = shNWB.Range("AW" & FREF)
    .Range("BN" & CREF) = shNWB.Range("AO" & FREF)
    .Range("BO" & CREF) = shNWB.Range("AP" & FREF)
    .Range("BP" & CREF) = shNWB.Range("AQ" & FREF)
    .Range("BQ" & CREF) = shNWB.Range("AR" & FREF)
    .Range("BR" & CREF) = shNWB.Range("AS" & FREF)
    .Range("BS" & CREF) = shNWB.Range("AT" & FREF)
End With

In theory, it should make it a little quicker as it has references for the sheets ... and it, at least, makes the code easier to read.


Regards, TMS