
VB EXCEL中复制一行到另外的表中变成有指定数量的多行
上图是Sheet1中的一行数据,现在要把这行复制到Sheet2中,并且复制到Sheet2后变成具有字段“套数”的数量的行,也就是10行,下图是复制后的样子,按字段套数数值...
上图是Sheet1中的一行数据,现在要把这行复制到Sheet2中,并且复制到Sheet2后变成具有字段“套数”的数量的行,也就是10行,下图是复制后的样子,按字段套数数值10,复制成10行。
展开
2个回答
展开全部
假定要复制第4行,到sheet2的第2行起以下套数行:
Sheet1.Rows(4).Copy Sheet2.Range("A2").Resize(Sheet1.Range("G4"))
Sheet1.Rows(4).Copy Sheet2.Range("A2").Resize(Sheet1.Range("G4"))
更多追问追答
追问
表1的每一行都要复制成“套数”中的数量的行数到表2中,你给的怎么用,不懂啊!
追答
将代码放在表1代码区,双击“套数”即可复制。详见附件。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target <> "套数" Then Exit Sub
Cancel = True
For i = 3 To [G65536].End(4).Row
Rows(i).Copy Sheet2.[A65536].End(3).Offset(1).Resize(Range("G" & i))
Next
End Sub
展开全部
可以用公式和VBA解决的
追问
怎么解决啊?帮帮忙急用啊
追答
把原数据的行号与列标显示出来
因为没有源数据的行号与列标,临时写了一个,你再看一看
Sub test()
mytemp = Sheet1.Range("A1:N100")
For r = 3 To 100
i = i + mytemp(r, 7)
Next r
If i > 1 Then
ReDim myarr(1 To i + 1, 1 To 14)
r = 1
For c = 1 To 14
myarr(1, c) = mytemp(2, c)
Next c
For t = 3 To 100
If mytemp(t, 7) > 0 Then
For ts = 1 To mytemp(t, 7)
r = r + 1
For c = 1 To 14
myarr(r, c) = mytemp(t, c)
Next c
Next ts
End If
Next t
Sheet2.Range("A1:N" & r) = myarr
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询