首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA excel宏处理5000行5列

VBA excel宏处理5000行5列
EN

Stack Overflow用户
提问于 2014-11-03 20:05:55
回答 2查看 275关注 0票数 0

我正在使用Excel 2007,在范围A1:A 5000中有5000条语句,范围B1:E 5000中的每条语句有四种选择。我想把它转换成另一个slyle,在这里,所有数据都在G1:25000范围内,在这里,所有四个选项都将出现在每个语句下。我录制了一个宏,但我不知道如何循环它,手动操作是不可能的。这里需要帮助..。谢谢。

示例:

代码语言:javascript
复制
Statement1 - AlternativeA 1 -  AlternativeA 2 -  AlternativeA 3 -  AlternativeA 4
Statement2 - AlternativeB 1 -  AlternativeB 2 -  AlternativeB 3 -  AlternativeB 4
Statement3 - AlternativeC 1 -  AlternativeC 2 -  AlternativeC 3 -  AlternativeC 4
Statement4 - AlternativeD 1 -  AlternativeD 2 -  AlternativeD 3 -  AlternativeD 4

输出:

代码语言:javascript
复制
Statement1 
AlternativeA 1
AlternativeA 2
AlternativeA 3
AlternativeA 4
Statement2
AlternativeB 1
AlternativeB 2
AlternativeB 3
AlternativeB 4
Statement3
AlternativeC 1
AlternativeC 2
AlternativeC 3
AlternativeC 4
Statement4
AlternativeD 1
AlternativeD 2
AlternativeD 3
AlternativeD 4
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-03 20:27:01

你真的不需要VBA来做这个。只需输入公式

G1:=索引($A:$E,INT(行($1:1)-1)/5)+1,MOD(行($1:1)-1,5)+1)

然后填到G25000。然后复制和粘贴-特殊值

票数 1
EN

Stack Overflow用户

发布于 2014-11-03 20:24:24

这应该将每个A:E中的值转换为G列。

代码语言:javascript
复制
Sub AE_2G()
    Dim r As Long, s As Variant
    For r = 1 To Cells(Rows.Count, 1).End(xlUp).Row
        s = Cells(r, 1).Resize(1, 5)
        Cells((r - 1) * 5 + 1, 7).Resize(5, 1) = Application.Transpose(s)
    Next r
End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26722237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档