将范围从sheet1复制到sheet2

时间:2018-01-31 21:20:53

标签: excel vba excel-vba copy-paste named-ranges

我对VBA很新,但我希望有人可以帮助我。这就是我想做的事情;

  1. 我在Sheet1中有一个范围(“A4:C500”),其中包含一些空单元格。第180行
  2. 我想将整个范围复制到Sheet2
  3. 之后,如果我在Sheet 1中插入一个新行,例如。 “A24:C24”并且我用例如“A24:C24”填充值,我想首先在Sheet2中的“A24”中插入一个完整的新行(与Sheet1中的新行相同的行)并将所有现有单元格向下移动1行在Sheet2中。 Sheet2中的新行应该复制上面一行中的公式(例如,第24行应该从第23行复制公式)
  4. 在Sheet2中插入新行后,我想将Sheet1“A24:C24”中的值复制到Sheet2“A24:C24”
  5. 关于2.我尝试过使用像<; p>这样的代码

    Sub Copy()
        Ark1.Range("A4:C500").Copy
        Ark2.Range("A4").Rows("1:1").Insert Shift:=xlDown
    End Sub
    

    基本上照顾2。

    我怎样才能得到3.和4.工作?我有什么想法试试吗?

    提前致谢

1 个答案:

答案 0 :(得分:1)

要执行3和4,您可以使用以下代码:

With Ark1
    'insert new row in sheet one
    .Row("24").Insert Shift:=xlDown
    'fill range A24:C24 with values
    .Range("A24:C24").Value = Array("Your", "Values", "Here")
    ' Or if specific cell values (.cells(row, column).value) Array(.cells(1,1).value, .cells(1,2).value, .cells(1,3).value)
End With

With Ark2
    'copy row to retain formulas
    .Row(23).Copy
    'insert new row in sheet two
    .Row(24).Insert Shift:=xlDown
    'get values from sheet one to sheet 2
    .Range("A24:C24").Value = Ark1.Range("A24:C24").Value
End With

P.S。:正如K.Dᴀᴠɪs在他​​的评论中提到的那样,有很多文档可以帮助你解决这些问题。 K.Dᴀᴠɪs提供了链接: