将复制的单元格粘贴到动态范围

时间:2013-12-22 01:57:41

标签: excel excel-vba excel-2007 vba

我需要使用我的宏

  1. 移至数据列表的底部
  2. 移动一个单元格
  3. 选择上面的下一个500个单元格
  4. 选择少2行
  5. 粘贴已选择的一系列单元格
  6. 重复步骤3-5,直至到达第1行
  7. 减少2的原因是当它到达顶部时它将覆盖2个标题行,我不希望它这样做。如果宏可以每次选择500个单元格,直到它到达第3行,那就更好了 - 更少的工作和步骤。要粘贴的细胞范围为128个细胞,粘贴到10-20,000行的动态范围内。我熟悉

    Selection.End(xlDown).Select
    

    但不知道如何选择上面的行数然后退回2。

    请帮忙吗?!如果这听起来太混乱,请告诉我。提前谢谢......

    编辑1:

    我试过了:

    Range("X3:FL3").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("E3").End(xlDown).Offset(0, 19).Resize(-500, 0).Select
    

    但我得到Runtime 1004“应用程序定义或对象定义的错误。”

    编辑2和3:

    我现在有了这个:

    Sub PasteLookups()
    
    Application.Calculation = xlCalculationManual
    Apllication.ScreenUpdate = False
    
        Sheets("OCG DATA").Activate
        Range("X3:FL3").Copy
        Range("X2001").Select
    
        Do Until ActiveCell.Offset(0, -19).Value = ""
            ActiveCell.Range(:A1:A100").PasteSpecial
            ActiveCell.Offset(1, 0).Select
        Loop
    
    Application.Calculation = xlCalculationAutomatic
    Apllication.ScreenUpdate = True
    
    End Sub
    

    现在可以动态地将行放置到位,从而节省了存储时间并使其更易于移植。现在我需要应用条件格式范围。

0 个答案:

没有答案