VBA从26个英文字母中选取5个进行组合把所有组合的情况用excel VBA编辑并输出到txt文件.sub azpailie()For i = 97 To 118For j = i + 4 To 122For k = 97 To 100Range(Chr(k) + CStr(m + 1)).Value = Chr(i + n)n = n + 1Next kRange("e"
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/26 06:39:24
VBA从26个英文字母中选取5个进行组合把所有组合的情况用excel VBA编辑并输出到txt文件.sub azpailie()For i = 97 To 118For j = i + 4 To 122For k = 97 To 100Range(Chr(k) + CStr(m + 1)).Value = Chr(i + n)n = n + 1Next kRange("e"
VBA从26个英文字母中选取5个进行组合把所有组合的情况用excel VBA编辑并输出到txt文件.
sub azpailie()
For i = 97 To 118
For j = i + 4 To 122
For k = 97 To 100
Range(Chr(k) + CStr(m + 1)).Value = Chr(i + n)
n = n + 1
Next k
Range("e" & CStr(m + 1)).Value = Chr(j)
n = 0
m = m + 1
Next j
Next i
msgbox "搞定!复制到记事本保存就可以了."
end sub
要详细点初学者能比较容易看懂的.感激不尽
VBA从26个英文字母中选取5个进行组合把所有组合的情况用excel VBA编辑并输出到txt文件.sub azpailie()For i = 97 To 118For j = i + 4 To 122For k = 97 To 100Range(Chr(k) + CStr(m + 1)).Value = Chr(i + n)n = n + 1Next kRange("e"
你的程序中的m和n都没列出来,应该控制起始位置的,假定这两个值都是0
而且这段代码肯定是有问题的,中间那个For k = 97 To 100内的代码不对
For i = 97 To 118 ------97开始是小写a的ascii码值,97到118就是a到v
For j = i + 4 To 122 ------i+4就是从101开始(101是e,122是z)
For k = 97 To 100 ------a到d
Range(Chr(k) + CStr(m + 1)).Value = Chr(i + n) ------chr是将前面的97这些数值转成具体的小写字母,比如chr(97)就是a,如果是asc("a")就是97,整个这行就是将单元格a1到dm全填入值,这一句实际执行的是类似于range("A1").value="a"
n = n + 1
Next k
Range("e" & CStr(m + 1)).Value = Chr(j)
n = 0
m = m + 1
Next j
Next i