Vba 如何将数据粘贴到特定单元格范围?

Vba 如何将数据粘贴到特定单元格范围?,vba,excel,Vba,Excel,我是vba新手,需要一些帮助。我有一个名为“归档”的工作表,其中有12组数据以某种表格格式显示/结构化。我的目标是从同一工作簿中的其他工作表中提取数据,并将其粘贴到对应于该数据的相应“表”的特定范围中。下面是我的数据代码,这些数据是从名为“Daily DB”的工作表中提取出来的,并粘贴到“Archive”工作表中 这段代码符合我的要求。我需要帮助解决的问题是: Worksheets("Archive").Range("a" & Rows.Count).End(xlUp).Offset(

我是vba新手,需要一些帮助。我有一个名为“归档”的工作表,其中有12组数据以某种表格格式显示/结构化。我的目标是从同一工作簿中的其他工作表中提取数据,并将其粘贴到对应于该数据的相应“表”的特定范围中。下面是我的数据代码,这些数据是从名为“Daily DB”的工作表中提取出来的,并粘贴到“Archive”工作表中

这段代码符合我的要求。我需要帮助解决的问题是:

 Worksheets("Archive").Range("a" & Rows.Count).End(xlUp).Offset(1,    0).PasteSpecial xlPasteFormulasAndNumberFormats

这一行查找最后一行数据,在我的例子中,这是第12个表的标题行。然而,我希望这个特定的数据进入第一个表,在标题行从“A5”开始之后,但我不确定如何进行。非常感谢您的任何帮助

如果要将另一个单元格或区域中的数据复制到同一工作簿中,我将使用区域对象的“Value”方法,如下所示:

Worksheets("Archive").Range("A" & i).Value = Worksheets("XXX").Range("Z" & j).Value
Worksheets("Archive").Range("A" & i).Activate
ActiveCell.Value = blah blah blah
ActiveCell.Offset(1, 0).Activate 'If you want to move to the next row (same column)
ActiveCell.Offset(0, 1).Activate 'If you want to move to the next column (Same row)
这样做可以避免执行所有复制和粘贴操作

如果不想为每个值指定一个范围,可以激活第一行的第一个单元格,然后“偏移”通过,如下所示:

Worksheets("Archive").Range("A" & i).Value = Worksheets("XXX").Range("Z" & j).Value
Worksheets("Archive").Range("A" & i).Activate
ActiveCell.Value = blah blah blah
ActiveCell.Offset(1, 0).Activate 'If you want to move to the next row (same column)
ActiveCell.Offset(0, 1).Activate 'If you want to move to the next column (Same row)

如果每个粘贴都需要按顺序排列,从A5开始,然后是A6,然后是A7,等等,请尝试:
工作表(“归档”).范围(“A5”).偏移量(i-2).粘贴特殊的XLPasteFormulas和NumberFormats
。我尝试了您的建议,但它没有正常工作,我相信是因为“i”指的是另一张表“Daily DB”,而不是“归档”这就是数据粘贴到的位置。