Excel转置使用VB [英] Excel transpose using VB
本文介绍了Excel转置使用VB的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
sheet.Range(A1:A6)。 ()
sheet.Range(B1)。PasteSpecial(Transpose:= True)
这是正常工作,但我重复这个过程到A3000面临麻烦。基本上我想将1列x3000行数据转换成6列x 500行数据,即最终结果应该有500行和列B:G。
解决方案
这是否适合你?
Sub Test()
Dim R1 As Long,R2长,C2长
R2 = 1
C2 = 2
对于R1 = 1到ActiveSheet.UsedRange.Rows.Count
单元格(R2,C2)=单元格(R1 ,1)
如果C2 < 7然后
C2 = C2 + 1
Else
R2 = R2 + 1
C2 = 2
结束如果
下一个R1
结束子
I am using VB to show large data in excel. They show up in A1:A3000. I am transposing A1:A6 to B1:G1 using this code:
sheet.Range("A1:A6").Copy()
sheet.Range("B1").PasteSpecial(Transpose:=True)
It's working but I'm facing trouble for repeating this process upto A3000. Basically I want to convert 1 column x3000 rows data into 6 columns x 500 rows data i.e the end result should have 500 rows and columns B:G.
解决方案
Does this work for you?
Sub Test()
Dim R1 As Long, R2 As Long, C2 As Long
R2 = 1
C2 = 2
For R1 = 1 To ActiveSheet.UsedRange.Rows.Count
Cells(R2, C2) = Cells(R1, 1)
If C2 < 7 Then
C2 = C2 + 1
Else
R2 = R2 + 1
C2 = 2
End If
Next R1
End Sub
这篇关于Excel转置使用VB的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文