Excel将VBA宏复制单元格循环到新工作表

亚历克斯

VBA的新手,我需要创建某种程序来循环已创建的代码。我需要这种情况发生的次数与A列中的数据一样多。要更改的变量是A1到A2,B1到B2,C1到C2,因此第2行将复制到工作表标签(2),然后复制到A3,B3和C3标记(3),依此类推。提前致谢。

Sub Copy1()

    Do
    Worksheets("WIP_List").Range("A1").Copy _
    Destination:=Worksheets("Tag (1)").Range("A7:I12")
    Loop Until IsEmpty(ActiveCell.Offset(0, 1))

    Do
    Worksheets("WIP_List").Range("B1").Copy _
    Destination:=Worksheets("Tag (1)").Range("A24:I28")
    Loop Until IsEmpty(ActiveCell.Offset(0, 1))

    Do
    Worksheets("WIP_List").Range("C1").Copy _
    Destination:=Worksheets("Tag (1)").Range("D19:F23")
    Loop Until IsEmpty(ActiveCell.Offset(0, 1))

End Sub

编辑:

希望这会更好地解释,我想这样做,但不必复制此200次,我希望它一直循环直到A列中现在有更多数据为止

子副本1()

Worksheets("WIP_List").Range("A1").Copy _
Destination:=Worksheets("Tag (1)").Range("A7:I12")

Worksheets("WIP_List").Range("B1").Copy _
Destination:=Worksheets("Tag (1)").Range("A24:I28")

Worksheets("WIP_List").Range("C1").Copy _
Destination:=Worksheets("Tag (1)").Range("D19:F23")

Worksheets("WIP_List").Range("A2").Copy _
Destination:=Worksheets("Tag (2)").Range("A7:I12")

Worksheets("WIP_List").Range("B2").Copy _
Destination:=Worksheets("Tag (2)").Range("A24:I28")

Worksheets("WIP_List").Range("C2").Copy _
Destination:=Worksheets("Tag (2)").Range("D19:F23")

Worksheets("WIP_List").Range("A3").Copy _
Destination:=Worksheets("Tag (3)").Range("A7:I12")

Worksheets("WIP_List").Range("B3").Copy _
Destination:=Worksheets("Tag (3)").Range("A24:I28")

Worksheets("WIP_List").Range("C3").Copy _
Destination:=Worksheets("Tag (3)").Range("D19:F23")

Worksheets("WIP_List").Range("A4").Copy _
Destination:=Worksheets("Tag (4)").Range("A7:I12")

Worksheets("WIP_List").Range("B4").Copy _
Destination:=Worksheets("Tag (4)").Range("A24:I28")

Worksheets("WIP_List").Range("C4").Copy _
Destination:=Worksheets("Tag (4)").Range("D19:F23")

结束子

特贝克

我想我理解您的问题,并且要一直循环直到数据清除为止,您需要在值不为空的情况下递增计数。使用IsEmpty函数并为每行将搜索调整1。

Dim xlwsStatic As Excel.Worksheet
Dim xlwsTemp As Excel.Worksheet
Dim i As Integer

Set xlwsStatic = ActiveWorkbook.Worksheets("WIP_List") 'assigning worksheet to xlws

i = 1 'initial value of i


Do While IsEmpty(xlwsStatic.Range("A" & i).Value) = False 'loops through


    Set xlwsTemp = ActiveWorkbook.Worksheets("Tag (" & i & ")")

    xlwsStatic.Range("A" & i).Copy _
    Destination:=xlwsTemp.Range("A7:I12")

    xlwsStatic.Range("B" & i).Copy _
    Destination:=xlwsTemp.Range("A24:I28")

    xlwsStatic.Range("C" & i).Copy _
    Destination:=xlwsTemp.Range("D19:F23")


    i = i + 1 'increments i up one per loop increasing the row and changing xlwsTemp
Loop

我经过编辑以专门使用您的代码,因为我认为我现在已经了解了您的意思,但是我很难想象结果应该是什么样子。如果这不正确,我觉得我需要先查看您的结果,然后再尝试。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

VBA复制范围到新工作表中的单元格

更改单元格后自动将行复制到新工作表excel VBA

复制到新工作表后,如果满足条件,如何清除单元格?

基于拆分单元格文本将工作表行复制到新工作表

两个工作簿之间的Excel VBA复制单元格

Excel VBA-双击复制下一个可用行中的特定单元格到新工作表

通过VBA在Excel中复制单元格公式

Excel 2010:根据条件从工作表2>工作表1复制单元格块

Excel公式或VBA复制单元格删除空格?

Excel VBA:复制单元格内容

Excel表查找和复制单元格值

搜索工作表并复制单元格值

Excel:将所有单元格值从整个工作表复制到新工作表,进行排序并删除重复项,以形成唯一值列表

Excel VBA-如果单元格值满足条件,则在工作表之间复制单元格

vba-excel:如何使用for循环和if语句排除复制单元格区域

Excel VBA复制单元格值,如果> 0到左侧的单元格

将单元格值复制到新工作表中,但不复制格式

遍历列中的单元格(如果包含条件),将行复制到新工作表

Excel VBA宏复制单元格并粘贴到另一个

Excel VBA-将单元格字符串拆分为单个单元格并将单元格复制到新工作表

如果列a =“x”,excel将单元格值复制到新工作表

Excel VBA - 使用宏将工作簿复制到新工作簿中

Excel VBA,如果新工作表所在的单元格可见,则在新工作表上显示批注

如何在复制到新工作表之前检查单元格是否为空?

VBA循环将工作表中的单元格复制到主表中

自动将多个工作表上相同单元格的数据复制到新工作表中

Google Sheets - 如何将单元格复制到新工作表并保持参考

如果单元格值大于0,excel vba将单元格复制到另一个工作表

查找多个不匹配的单元格并复制到新工作表