我正在使用Excel 2007,在范围A1中有5000个语句:A5000,范围B1中的每个语句有四个选项:E5000。我想将它转换为另一个slyle,其中所有数据都在G1:25000范围内,其中所有四个选项都将在每个Statement下。我录制了一个宏,但我不知道如何循环它并且手动操作是不可能的。这里需要一些帮助......谢谢。
示例:
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
输出:
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
答案 0 :(得分:1)
这应该将每个A:E中的值传输并转置到G列。
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 :(得分:1)
你真的不需要VBA。只需输入公式
G1:= INDEX($ A:$ E,INT((ROWS($ 1:1)-1)/ 5)+ 1,MOD(ROWS($ 1:1)-1,5)+1)
并填写G25000。然后复制并粘贴特殊值