复制从 sheet1 到 sheet2 的范围
Copy a range from sheet1 to sheet2
我是 VBA 的新手,但我希望有人能帮助我。这是我想做的;
- 我在 Sheet1 中有一个范围 ("A4:C500"),其中有一些空单元格,例如。第 180 行
- 我想将整个范围复制到 Sheet2
- 之后,如果我在 Sheet 1 中插入一个新行,例如。 "A24:C24" 并且我用值填充例如 "A24:C24",我想首先在 "A24" 中插入一个完整的新行 Sheet2(与 [=37 中的新行相同的行=]1) 并将 Sheet2 中的所有现有单元格向下移动 1 行。 Sheet2 中的新行应复制上一行的公式(例如,第 24 行应复制第 23 行的公式)
- 在 Sheet2 中插入新行后,我想将值从 Sheet1 "A24:C24" 复制到 Sheet2 "A24:C24"
关于 2。我尝试使用一些代码,例如;
Sub Copy()
Ark1.Range("A4:C500").Copy
Ark2.Range("A4").Rows("1:1").Insert Shift:=xlDown
End Sub
这基本上解决了 2.
如何让 3. 和 4. 工作?我有什么想法可以尝试吗?
提前致谢
要执行 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ᴀᴠɪ提供链接:
- Copy Range From One Sheet Paste Part of Range In Same Sheet Based On Cell Value On Another Sheet
- VBA - Copy variable range from one sheet to another
我是 VBA 的新手,但我希望有人能帮助我。这是我想做的;
- 我在 Sheet1 中有一个范围 ("A4:C500"),其中有一些空单元格,例如。第 180 行
- 我想将整个范围复制到 Sheet2
- 之后,如果我在 Sheet 1 中插入一个新行,例如。 "A24:C24" 并且我用值填充例如 "A24:C24",我想首先在 "A24" 中插入一个完整的新行 Sheet2(与 [=37 中的新行相同的行=]1) 并将 Sheet2 中的所有现有单元格向下移动 1 行。 Sheet2 中的新行应复制上一行的公式(例如,第 24 行应复制第 23 行的公式)
- 在 Sheet2 中插入新行后,我想将值从 Sheet1 "A24:C24" 复制到 Sheet2 "A24:C24"
关于 2。我尝试使用一些代码,例如;
Sub Copy()
Ark1.Range("A4:C500").Copy
Ark2.Range("A4").Rows("1:1").Insert Shift:=xlDown
End Sub
这基本上解决了 2.
如何让 3. 和 4. 工作?我有什么想法可以尝试吗?
提前致谢
要执行 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ᴀᴠɪ提供链接:
- Copy Range From One Sheet Paste Part of Range In Same Sheet Based On Cell Value On Another Sheet
- VBA - Copy variable range from one sheet to another