Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1755|回复: 5

[已解决]【请教】顺序提取字母

[复制链接]
发表于 2012-12-22 14:06 | 显示全部楼层 |阅读模式
本帖最后由 xdwy81129 于 2012-12-22 14:08 编辑

1.不用address的方法提取
2,请用mid取位提取
dim zfc$
zcf ="ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"

希望结果录入到arjg(1 to n)里面
arjg(1) = "A"
arjg(2) = "B"
arjg(2) = "C"
......
arjg(24) = "X" arjg(25) = "Y"  arjg(26) = "Z"  arjg(27 = "AA" arjg(28) = "AB" ......
arjg(51) = "AY" arjg(52) = "AZ"  arjg(53) = "BA" arjg(54) = "BB"   ......
arjg(152) = "EV"  




































最佳答案
2012-12-22 14:51
  1. Sub TEST()
  2.     Dim zfc$, arjg(1 To 152)
  3.     ZCF = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4.     For I = 1 To 152
  5.         If I < 27 Then
  6.             arjg(I) = Mid(ZCF, I, 1)
  7.         Else
  8.             B = I Mod 26: If B = 0 Then B = 26
  9.             arjg(I) = Mid(ZCF, Int((I - 1) / 26), 1) & Mid(ZCF, B, 1)
  10.         End If
  11.     Next
  12.     '.................
  13. End Sub
复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-12-22 14:21 | 显示全部楼层
也就是说要提取第一行单元格所对应的列号?
回复

使用道具 举报

 楼主| 发表于 2012-12-22 14:30 | 显示全部楼层
zhoucs00 发表于 2012-12-22 14:21
也就是说要提取第一行单元格所对应的列号?

是,但是不要split和address,希望有mid取位来做
回复

使用道具 举报

发表于 2012-12-22 14:39 | 显示全部楼层
本帖最后由 zhoucs00 于 2012-12-22 14:40 编辑

如果是这样的话,我的思路是这样的,left(CELLS(1,target.column),len(target)-1)。target表示目标单元格,取目标单元格对应的列的第一个单元格即CELLS(1,target.column) 最右边就只有一个数字即1,这样就好取了。不知道这样满足您需求不?呵呵
回复

使用道具 举报

发表于 2012-12-22 14:51 | 显示全部楼层    本楼为最佳答案   
  1. Sub TEST()
  2.     Dim zfc$, arjg(1 To 152)
  3.     ZCF = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4.     For I = 1 To 152
  5.         If I < 27 Then
  6.             arjg(I) = Mid(ZCF, I, 1)
  7.         Else
  8.             B = I Mod 26: If B = 0 Then B = 26
  9.             arjg(I) = Mid(ZCF, Int((I - 1) / 26), 1) & Mid(ZCF, B, 1)
  10.         End If
  11.     Next
  12.     '.................
  13. End Sub
复制代码

评分

参与人数 1 +18 收起 理由
xdwy81129 + 18 谢谢,前面我怎么想都写不出来

查看全部评分

回复

使用道具 举报

发表于 2012-12-22 15:06 | 显示全部楼层
Sub tets()
Dim str$, i%, k%, m%, arr()
Dim zfc$
zfc = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
str = "|" & Mid(zfc, 1, 26)
For i = 1 To Len(str)
    For k = 2 To Len(str)
        m = m + 1
        ReDim Preserve arr(1 To m)
        arr(m) = Replace(Mid(str, i, 1) & Mid(str, k, 1), "|", "")
    Next
Next
Stop
End Sub

评分

参与人数 1 +18 收起 理由
xdwy81129 + 18 非常感谢帮忙解决问题,谢谢

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 00:42 , Processed in 0.413039 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表