VB EXCEL中复制一行到另外的表中变成有指定数量的多行

上图是Sheet1中的一行数据,现在要把这行复制到Sheet2中,并且复制到Sheet2后变成具有字段“套数”的数量的行,也就是10行,下图是复制后的样子,按字段套数数值... 上图是Sheet1中的一行数据,现在要把这行复制到Sheet2中,并且复制到Sheet2后变成具有字段“套数”的数量的行,也就是10行,下图是复制后的样子,按字段套数数值10,复制成10行。 展开
 我来答
姓王的wy451

2014-08-23 · TA获得超过48.3万个赞
知道大有可为答主
回答量:8万
采纳率:78%
帮助的人:9551万
展开全部
假定要复制第4行,到sheet2的第2行起以下套数行:
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


百度网友19ff4fc
2014-08-23 · TA获得超过1764个赞
知道小有建树答主
回答量:1003
采纳率:0%
帮助的人:340万
展开全部
可以用公式和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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式