Matt Ridge
Matt Ridge

Reputation: 3651

How to copy cells to last row and paste to another sheet?

I have an ActiveSheet script, in where I take raw data move the data to rows Q:V. I have a VBA script that runs and shows where the last row is, in this case the last row is 77.

lastrow = .Cells(.Rows.Count, "Q").End(xlUp).Row

I want to have it where it takes from Q to V last row, copy, and paste it into sheet 1...

I am guessing it will look like this, but I want to verify here first... since my normal sites I go to are down for maintenance for some reason.

Sub test()
         Dim wsPOD As Worksheet
    Dim wsPOT As Worksheet
    Dim wsPOA As Worksheet
    Dim cel As Range
    Dim lastrow As Long, i As Long, Er As Long

    Set wsPOD = Sheets("PO Data")
    Set wsPOT = Sheets("PO Tracking")
    Set wsPOA = Sheets("PO Archive")

        With ActiveSheet
            .AutoFilterMode = False
            Intersect(.UsedRange, .Columns("A")).Cut .Range("Q1")
            Intersect(.UsedRange, .Columns("D")).Cut .Range("R1")
            Intersect(.UsedRange, .Columns("C")).Cut .Range("S1")
            Intersect(.UsedRange, .Columns("B")).Cut .Range("T1")
            Intersect(.UsedRange, .Columns("G")).Cut .Range("U1")
            Intersect(.UsedRange, .Columns("F")).Cut .Range("V1")
            lastrow = .Cells(.Rows.Count, "N").End(xlUp).Row
            Intersect (.UsedRange.Range("Q:V" & lastrow).Copy)
            Intersect (wsPOT.Range("B3:H" & lastrow).PasteSpecialxlPasteFormats)
         End With
End Sub

This obviously doesn't work, if someone can help me it be appreciated.

Upvotes: 0

Views: 15195

Answers (2)

RAJU
RAJU

Reputation: 1

Option Explicit
Sub copylocation()
  Dim EC As Long
  Dim X As Long
  Dim Y As Long
  X = Range("B1").End(xlUp).Offset(1, 0).Row
  EC = Range("b1").End(xlToLeft).Offset(0, X).Column
  Windows("Book2").Activate
  Range("b1:AB" & EC).Select
  Selection.Copy
  Windows("Book1").Activate
  Range("b1").Select
  ActiveSheet.Paste
End Sub

Upvotes: 0

Siddharth Rout
Siddharth Rout

Reputation: 149277

Is this what you are trying>

 With ActiveSheet
    .AutoFilterMode = False
    '
    '~~> Rest of the code
    '
    lastRow = .Range("N" & Rows.Count).End(xlUp).Row
    .Range("Q1:V" & lastRow).Copy
    wsPOT.Range("B3").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
 End With

xlPasteFormats will only paste the formats and not the value. If you want to paste value then change xlPasteFormats to xlPasteValues

Upvotes: 2

Related Questions