excel中序列问题

来源:百度知道 编辑:UC知道 时间:2024/05/05 22:45:01
我想在A列中生成如下序列:
a
b
c
d

x
y
z
aa
ab
ac

zx
zy
zz
aaa
aab
aac

zzx
zzy
zzz
aaaa
aaab
aaac

zzzx
zzzy
zzzz
请问有什么好的方法的,有什么函数可以实现这样的序列,宏呢?不能手工一个一个输入的,四五十万的数据啊!!!
字符连接符我也试过,我在5分钟左右的时间把这个序列做了出来,但我觉得这方法挺笨的,想想应该有好办法啊!请高人指点

好像没有好的办法,只能自己手动用字符连接符.

如果会VB可以用宏来编写,希望有高手看到你的提问.

楼上说的不和,我也试了,,,,,这个问题暂时没有能力解决,关注中.

按下ALT+F11,插入-模块,将下列代码复制入代码框,按F5运行
输入结果是在A列.从A1开始.程序执行时,你先要输入你要生成的组数.26个为一组.

Sub aaaa()
Dim a As Integer
Dim sum As String
Dim summary As String
a = InputBox("请输入你要输入的组数,26个为一组")
sum = ""
Range("a1").Select
For x = 1 To a
For y = 97 To 122
summary = sum & Chr(y)
ActiveCell.Value = summary
ActiveCell.Offset(1, 0).Select
Next
sum = ""
For z = 1 To WorksheetFunction.RoundUp(x / 26, 0)
sum = sum & Chr((x Mod 27) + 96)
Next
Next
End Sub

假设数据是从A1开始的
B1=LENB(A1)
以下将B列依次填充
选中A列任意一单元格-数据-排序
-选"无标题行"-主要关键字选"列B"(递增)
-次要关键字选"列A"(递增)-确定即可
现在序列排好了,你如果觉得B列是多余的,可以将它删除或隐藏都可以

rept函数来解决很快的
如下:
=IF(MOD(ROW(),26)<>0,REPT(CHAR(96+MOD(ROW(),26)),INT(ROW()/26)+1),REPT("