设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 3005|回复: 14
打印 上一主题 下一主题

[其它] 求教字母组合问题

[复制链接]
跳转到指定楼层
1#
发表于 2016-5-9 14:19:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请看excel列头.
就象那样的,给出列数(如500),根据列数组合字符
(A B C .....AA AB AC AD...BA BB BC.........................................)

几天没能想出来,请大神给指点下,谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2016-5-9 14:24:27 | 只看该作者
在线等
回复

使用道具 举报

点击这里给我发消息

3#
发表于 2016-5-9 14:29:21 | 只看该作者

稍等,这个相当于26进制的问题

点击这里给我发消息

4#
发表于 2016-5-9 14:33:10 | 只看该作者
本帖最后由 盗梦 于 2016-5-9 15:29 编辑
  1. 'Author: 阿航
  2. 'Date:2016-05-09
  3. '列数转Excel列名
  4. Public Function g(lngNum As Long)
  5.     'Excel的列头是相当于26进制
  6.     '(见过其他人写过类似的代码,太繁琐了,他们还判断是否整除和区分1个字母和2个字母)

  7.     Dim lngTen As Long, strTen As String '十位
  8.     Dim lngOne As Long, strOne As String '个位

  9.     lngNum = lngNum - 1 '1到26 变成 0到25的范围,方便求余

  10.     lngTen = Int(lngNum / 26)
  11.     lngOne = lngNum Mod 26

  12.     If lngTen > 0 Then strTen = Chr(64 + lngTen)
  13.     strOne = Chr(65 + lngOne)
  14.    
  15.     g = strTen & strOne
  16. End Function
复制代码


(第11楼有新解法:突破702限制)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1经验 +10 收起 理由
风中漫步 + 10 启发

查看全部评分

5#
 楼主| 发表于 2016-5-9 14:35:49 | 只看该作者

谢谢大师,我先试一下来

点击这里给我发消息

6#
发表于 2016-5-9 14:36:47 | 只看该作者
风中漫步 发表于 2016-5-9 14:35
谢谢大师,我先试一下来

加了一个图片,看看我刚刚那个代码后面
7#
 楼主| 发表于 2016-5-9 15:00:52 | 只看该作者
谢谢
我测的范围是1-2000,发现会这样

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

点击这里给我发消息

8#
发表于 2016-5-9 15:01:59 | 只看该作者
风中漫步 发表于 2016-5-9 15:00
谢谢
我测的范围是1-2000,发现会这样

超过ZZ列了

点击这里给我发消息

9#
发表于 2016-5-9 15:03:19 | 只看该作者
风中漫步 发表于 2016-5-9 15:00
谢谢
我测的范围是1-2000,发现会这样

Excel最多 就到 ZZ列
10#
 楼主| 发表于 2016-5-9 15:09:09 | 只看该作者
盗梦 发表于 2016-5-9 15:03
Excel最多 就到 ZZ列

好的,再次感谢.

给我了很好的启发
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-2 01:25 , Processed in 0.099643 second(s), 38 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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