excel - 将一行复制到模板上的特定单元格中
问题描述
您好我想将行中的单元格按顺序粘贴到模板上的特定单元格值,同时为每一行创建一个新的模板表。
视觉上我想要以下信息:
像这样输入模板:
我需要在下面添加什么才能做到这一点?该行是我想提取的顺序,只需要帮助组织脚本。
我有以下 VBA 脚本:
Sub distribute()
Dim sh As Worksheet
Dim k As Long, i As Integer
Set sh = ThisWorkbook.Sheets("Data")
k = sh.Range("A1048576").End(xlUp).Row
For i = 1 To k
Worksheets("Template").Copy After:=Sheets(Sheets.Count)
sh.Rows(i).Copy Range("A2")
Next
End Sub
谢谢堆栈溢出!!
这要感谢GMalc!
Sub distribute()
Dim sh As Worksheet
Dim k As Long, i As Integer
Set sh = ThisWorkbook.Sheets("Data")
k = sh.Range("A1048576").End(xlUp).Row
For i = 2 To k
With Worksheets("Template")
.Cells(3,2).Value = sh.Cells(i,1).Rows()
.Cells(3,4).Value = sh.Cells(i,2).Rows()
.Cells(8,4).Value = sh.Cells(i,3).Rows()
.Cells(5,2).Value = sh.Cells(i,4).Rows()
.Copy After:=Sheets(Sheets.Count)
End With
Next i
End Sub
解决方案
尝试这个..
Sub distribute()
Dim sh As Worksheet
Dim k As Long, i As Integer
Set sh = ThisWorkbook.Sheets("Data")
k = sh.Range("A1048576").End(xlUp).Row
For i = 2 To k
With Worksheets("Template")
.Cells(3,2).Value = sh.Cells(i,1).Rows(i)
.Cells(3,4).Value = sh.Cells(i,2).Rows(i)
.Cells(8,4).Value = sh.Cells(i,3).Rows(i)
.Cells(5,2).Value = sh.Cells(i,4).Rows(i)
.Copy After:=Sheets(Sheets.Count)
End With
Next i
End Sub