Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel I';I’我想复制一个范围内的每个值,并将第一个值粘贴到第一页,第二个值粘贴到第二页,依此类推_Excel_Vba - Fatal编程技术网

Excel I';I’我想复制一个范围内的每个值,并将第一个值粘贴到第一页,第二个值粘贴到第二页,依此类推

Excel I';I’我想复制一个范围内的每个值,并将第一个值粘贴到第一页,第二个值粘贴到第二页,依此类推,excel,vba,Excel,Vba,所有值都应该粘贴到不同工作表上的同一单元格中。我已经编写了一些代码,但因为我是vba新手,所以很难完成它 Dim wb As workbook set wb = thisworkbook dim startsheet as worksheet set startsheet = wb.sheets("start") dim r as range set r = startsheet.Range("C2:C6") dim sh as worksheet

所有值都应该粘贴到不同工作表上的同一单元格中。我已经编写了一些代码,但因为我是vba新手,所以很难完成它


Dim wb As workbook
set wb = thisworkbook

dim startsheet as worksheet
set startsheet = wb.sheets("start")

dim r as range
set r = startsheet.Range("C2:C6")

dim sh as worksheet
dim c as range

for each c in r
 for each sh in worksheets


 next
next```

我想这是一种方法:

Dim wb As Workbook
Set wb = ThisWorkbook

Dim startsheet As Worksheet
Set startsheet = wb.Sheets("start")

Dim r As Range
Set r = startsheet.Range("C2:C6")

Dim sh As Worksheet

For Each sh In Worksheets
     sh.Range(r.Address).Value = r.Value
Next sh
无需循环每个单元格,只需一次复制整个范围即可节省一些时间和代码

For i = 1 To r.Count
    If Not i > Worksheets.Count Then Worksheets(i).Range("D3").Value = r.Item(i, 1).Value
Next i
这将使“范围(C2)中的第一项进入单元格D3中的第一页,第二项(C3)进入单元格D3中的第二页,依此类推。”
不知道为什么是D3,但你在这里

For i = 1 To r.Count
    If Not i + 1 > Worksheets.Count Then Worksheets(i + 1).Range("D3").Value = r.Item(i, 1).Value
Next i

只需+1工作表编号即可跳过第一张工作表。

是否应将C2至C6的内容从起始工作表复制到工作簿中的所有工作表?感谢您的回复。这确实有效,但它复制了整个列表,而我想一个接一个地复制列表的内容。例如,范围(C2)上的第一项转到单元格D3中的第一张纸,第二项(C3)转到单元格D3中的第二张纸,依此类推。对于所有的工作表,粘贴值的单元格都是相同的。我认为您需要对您的问题添加一些解释,关于您的结果应该是什么,因为我没有遵循您的逻辑。就像一个预期输出的例子,我有一个名字列表,我必须在每张纸的D3单元格中逐一输入。因为第一个工作表包含列表,所以列表的第一个名称将转到第二个工作表,第二个名称转到第三个工作表,依此类推。它需要一个循环,遍历范围内的所有单元格。例如,C2转到第二张纸,而C3转到第三张纸。我希望这是有道理的。这似乎更合理,但你确实说过“范围(C2)上的第一个项目到D3单元格的第一张纸”。代码是非常文字化的。代码是完全功能化的。非常感谢你的帮助。