gpt4 book ai didi

vba - 如何从另一张工作表中复制行并将它们粘贴到其中包含表格的工作表中?

转载 作者:行者123 更新时间:2023-12-04 20:57:04 26 4
gpt4 key购买 nike

我正在编写代码,我想做的就是从一张表中复制数据并将其粘贴到另一张具有表格设置的表中。

我的代码正在做我想要做的事情,但是,表格不会调整大小以包含所有复制的行,只有复制数据的第一行进入表格。其余的被格式化为不在表格中。

enter image description here

这是我运行代码后的样子

Sub LastRowInOneColumn()
Dim LastRow As Longenter image description here
Dim i As Long, j As Long

'Find the last used row in a Column
With Worksheets("First Page")
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With

'first row number where you need to paste values in Sheet1'
With Worksheets("Report")
j = .Cells(.Rows.Count, "A").End(xlUp).Row '+ 1
End With

For i = 1 To LastRow
With Worksheets("First Page")
'If .Cells(i, 1).Value = "X" Then
.Rows(i).Copy Destination:=Worksheets("Report").range("A" & j)
j = j + 1
'End If
End With
Next i
End Sub

最佳答案

通常,在表格末尾下方插入会使其自动增长,但在粘贴超出表格列数的范围时不会。有两种方法可以解决这个问题:

1-将复制的范围限制为表中的列数; IE。

.Rows(i).Resize(,4).Copy Destination:=Worksheets("Report").range("A" & j)
' ^^^^^^^^^^^

2- 显式调整表格大小,使用方法 ListObject.Resize ; IE。
With Sheet1.ListObjects(1)
.Resize .Range.Resize(.Range.Rows.count + 1)
End With

关于vba - 如何从另一张工作表中复制行并将它们粘贴到其中包含表格的工作表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45395101/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com