Excel转置使用VB [英] Excel transpose using VB

查看:141
本文介绍了Excel转置使用VB的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用VB在excel中显示大数据。它们出现在A1:A3000。我使用以下代码将A1:A6转移到B1:G1:

  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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆