我无法解决这个问题。我将row
A2:C2
中的单元格从一张纸复制到另一张纸上,但我想根据填充在相邻的column
D
上的单元格将它们粘贴到多个rows
中。我可以使用适当的范围填充column
D
。 我的问题是如何确定范围长度并粘贴细胞A2:C2
很多次。这是我试图写的代码。我declared
所有的variables
之前。这是我遇到问题的代码的一部分。谢谢你们! Excel Sheet Here根据excel vba中的范围多次粘贴一行
lastrow1 = Sheets("ResourcesLib").Range("A" & Rows.Count).End(xlUp).row
For i = 1 To lastrow1
resources = Sheets("ResourcesLib").Cells(i, "A").Value
Sheets("sheet3").Activate
lastrow2 = Sheets("sheet3").Range("B" & Rows.Count).End(xlUp).row
For j = 2 To lastrow2
If Sheets("sheet3").Cells(j, "B").Value = resources Then
Sheets("ResourcesLib").Activate
NoCell = rsrcl.Cells(i, rsrcl.Columns.Count).End(xlToLeft).Column
rsrcl.Range(rsrcl.Cells(i, 2), rsrcl.Cells(i,rsrcl.Cells(i,Columns.Count).End(xlToLeft).Column)).Copy
rsrca.Range("D" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Transpose:=True
Sheets("sheet3").Activate
Sheets("sheet3").Cells(j, "A").Copy
rsrca.Range(Cells(k, 1), Cells(m + (NoCell - 1), 1)).PasteSpecial
Sheets("sheet3").Cells(j, "B").Copy
rsrca.Range(Cells(k, 2), Cells(m + (NoCell - 1), 2)).PasteSpecial
Sheets("sheet3").Cells(j, "C").Copy
rsrca.Range(Cells(k, 3), Cells(m + (NoCell - 1), 3)).PasteSpecial
End If
Next j
k = (NoCell - 2) + k
m = k
Application.CutCopyMode = False
Next i
听起来像你在这里有一个真正的问题,你可以扩展代码中发生的事情,我遵循'NoCell'和'rsrcl'。 –
@GaryEvans所以在rsrcl之后,单元格从该表单复制并粘贴到rsrca列D(转置)中。这条线后是问题。我需要从“Sheet3”复制单元格A3:C3单元格(j = 3),并将rsrca A粘贴到C列,但粘贴多次,直到上一步中粘贴列“D”(转置)的末尾。我希望你有个想法。 所以我做的是我复制单元格指定范围与NoCell作为for循环的上限,但似乎不工作。 我可以发送给您ecel文件以便更好地理解。谢谢! – adr0327
非常抱歉,在这里我没有足够的理解你在尝试什么,希望别人能比我更好地跟着它。 –