EXCEL中如何通过宏实现不同行数批量数据的转置粘贴 10
近2万行数据,行转列,按照序号转成图片2样式,注意:每个序号下的行数不一样怎么用循环?最多一组行为13行,也有12行一组,7行一组,5行一组.......等等单元格范围怎...
近2万行数据,行转列,按照序号转成图片2样式,注意:每个序号下的行数不一样怎么用循环?最多一组行为13行,也有12行一组,7行一组,5行一组.......等等单元格范围怎么设置?我的想法是如果A列不为空,就开始循环.可每组循环的行数不一致?例如第一组,A2:B2复制,B3:C13转置复制这是第一组转置:Sub Macro1()Sheets("Sheet1").SelectRange("B3:C13").SelectApplication.CutCopyMode = FalseSelection.copySheets("Sheet3").SelectRange("C2").SelectSelection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _False, Transpose:=TrueEnd Sub
展开
3个回答
2018-07-29 · 百度认证:云南新华电脑职业培训学校官方账号
云南新华电脑学校
云南新华电脑学校是经云南省教育厅批准成立的省(部)级重点计算机专业学校,采用三元化管理模式,教学设备先进,师资雄厚学生毕业即就业,学院引进了电商企业入驻,创建心为电商创业园区,实现在校即创业
向TA提问
关注
展开全部
类似转置,行列关系靠计算获取。
Sub yy()
Dim arr, i&, j&, k&, m&, n&
arr = Sheets("A").UsedRange
ReDim brr(1 To 10000, 1 To 3)
For i = 1 To UBound(arr)
For j = 1 To arr(i, 3)
k = k + 1
m = Application.Ceiling(k / 3, 1) * 2
n = IIf(k Mod 3 = 0, 3, k Mod 3)
brr(m - 1, n) = arr(i, 1)
brr(m, n) = arr(i, 2)
Next
Next
Sheets("B").[a1].Resize(m, 3) = brr
End Sub
Sub yy()
Dim arr, i&, j&, k&, m&, n&
arr = Sheets("A").UsedRange
ReDim brr(1 To 10000, 1 To 3)
For i = 1 To UBound(arr)
For j = 1 To arr(i, 3)
k = k + 1
m = Application.Ceiling(k / 3, 1) * 2
n = IIf(k Mod 3 = 0, 3, k Mod 3)
brr(m - 1, n) = arr(i, 1)
brr(m, n) = arr(i, 2)
Next
Next
Sheets("B").[a1].Resize(m, 3) = brr
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询