2012-05-17 78 views
0

我有一个ActiveSheet脚本,在那里我把原始数据移动到行Q:V。我有一个运行并显示在最后一行,在这种情况下,最后一行是77如何将单元格复制到最后一行并粘贴到另一个工作表?

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

我想它自Q需要到V最后一行,复制和粘贴有它VBA脚本它成为工作表1 ...

我猜它会看起来像这样,但我想首先在这里验证...因为我正常的网站,我去维修由于某种原因。

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 

这显然是行不通的,如果有人能帮助我,这可以理解。

回答

2

这是你正在尝试>

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将只粘贴格式,而不是价值。如果要粘贴值,然后改变xlPasteFormatsxlPasteValues

+0

而亚洲时报Siddharth固定代码,值得一提的是,这些线是坏的交集(.UsedRange.Range(“Q:V”和LASTROW).Copy) 相交(wsPOT.Range(“B3:H”&lastrow).PasteSpecialxlPasteFormats)(根本不需要Intersect(),因为你没有交叉任何东西。 –

0
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 
+0

我修改了代码格式并删除了所有'在此处发布代码' –

相关问题