Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.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 每行复制n次_Excel_Vba - Fatal编程技术网

Excel 每行复制n次

Excel 每行复制n次,excel,vba,Excel,Vba,我需要将每行从第1页复制到第2页12次 现在我复制第一行12次,但是第2行只复制了一次。我已经提供了该表的样本和我的代码。希望你们能帮忙 我的数据从a13行开始 作为奖励,我需要转换E:p列中的值 我之所以需要这样做,是因为E:p中的所有值都是每个月的值,A:C中的值是必要的属性,用于识别某辆车的月份值,以及年份、注册号和服务 Sub copyEachRow() Dim i As Integer For i = 1 To 12 Sheets("asheet1").R

我需要将每行从第1页复制到第2页12次

现在我复制第一行12次,但是第2行只复制了一次。我已经提供了该表的样本和我的代码。希望你们能帮忙

我的数据从a13行开始

作为奖励,我需要转换E:p列中的值

我之所以需要这样做,是因为E:p中的所有值都是每个月的值,A:C中的值是必要的属性,用于识别某辆车的月份值,以及年份、注册号和服务

Sub copyEachRow()
Dim i As Integer

For i = 1 To 12
    Sheets("asheet1").Range("A13").CurrentRegion.Copy Sheets("sheet2").Cells(i + 13, "a") 
Next i
End Sub

复制转置
选项显式
子副本箭头()
Const srcName As String=“Sheet1”
Const sFirst As String=“A13”
常量dstName为String=“Sheet2”
Const dFirst As String=“A13”
将wb设置为工作簿
设置wb=ThisWorkbook
'源范围到源数组。
变暗源
Source=wb.Worksheets(srcName).Range(sFirst).CurrentRegion.Value
暗计数等于长
rCount=UBound(源,1)
作为变体的Dim Dest
重拨目的地(1到rCount*12,1到4)
'写入标题
Dim j尽可能长
对于j=1到3
目的地(1,j)=来源地(1,j)
下一个j
目的地(1,4)=“价值”
“写下身体。
我想我会坚持多久
暗k一样长
长
对于i=2到UBound(源,1)
对于n=1到12
k=k+1
对于j=1到3
目的地(k,j)=来源地(i,j)
下一个j
目的地(k,4)=来源地(i,3+n)
下一个
接下来我
'目标阵列到目标范围。
使用wb.Worksheets(dstName).Range(dFirst).Resize(,4)
.Resize(.Worksheet.Rows.Count-.Row+1)。ClearContent
.Resize(k).Value=Dest
以
端接头

您可以根据需要调整此代码:

Sub copyEachRow()
    Dim cel As Range
    With Sheet2
        For Each cel In Sheet1.Range("A13", Sheet1.Cells(.Rows.Count, 1).End(xlUp))
            cel.EntireRow.Copy .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Resize(12)
        Next
    End With
End Sub

只需在Sheet2列中的单元格中放置一个标题,在该单元格后面粘贴数据即可

您需要嵌套循环。thx用于回复:)thx用于回复:)太棒了!经过几次修改后,它非常合身:)谢谢你的帮助
Sub copyEachRow()
    Dim cel As Range
    With Sheet2
        For Each cel In Sheet1.Range("A13", Sheet1.Cells(.Rows.Count, 1).End(xlUp))
            cel.EntireRow.Copy .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Resize(12)
        Next
    End With
End Sub