ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1190|回复: 5

[已解决] 单元格内四个字母ABCD按顺序排序问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-9-4 21:43 | 显示全部楼层 |阅读模式
本帖最后由 sunw1984 于 2019-9-5 20:54 编辑

请教各位大师:

我做了一个考题表格,在sheets("sheet1").cells(i,6)单元格(For i=1 to 10 step 2)里需要填写选择题的答案ABCD,当填入多选时,比如选多个,有时会填成“BA或者ADC或者ACBD”,那么如何能够使得不管怎么填写的,填完后都能够以A→B→C→D的顺序进行显示,即填写成“BA或者ADC或者ACBD”后单元格更新显示为“AB或者ACD或者ABCD

之所以需要这么做,是因为我需要自动引用标准答案进行对比,如果顺序错了对比就会出错

非常感谢

TA的精华主题

TA的得分主题

发表于 2019-9-5 07:56 | 显示全部楼层
  1. Function xc(str1)
  2.     arr = Array("a", "b", "c", "d")
  3.     xc = ""
  4.     For j = 0 To UBound(arr)
  5.         If InStr(LCase(str1), arr(j)) > 0 Then
  6.             xc = xc & arr(j)
  7.         End If
  8.     Next j
  9.     xc = UCase(xc)
  10. End Function
复制代码


放到模块里吧,自定义函数

TA的精华主题

TA的得分主题

发表于 2019-9-5 08:09 | 显示全部楼层
Sub aa()
For i = 1 To 10 STEP 2
str2 = "": str1 = Cells(i, 6)
For j = 65 To 68
If InStr(1, str1, Chr(j), vbBinaryCompare) Then
str2 = str2 & Chr(j)
End If
Next
Cells(i, 6) = str2
Next
End Sub

TA的精华主题

TA的得分主题

发表于 2019-9-5 11:27 | 显示全部楼层
本帖最后由 ggmmlol 于 2019-9-5 16:11 编辑
  1. Function COMPARE(ByVal 答案$, ByVal 标准答案$) As Boolean
  2.     If Len(答案) = Len(标准答案) Then
  3.         ms = "[" & 答案 & "]"
  4.         For i = 1 To Len(标准答案)
  5.             If Not Mid(标准答案, i, 1) Like ms Then COMPARE = False: Exit Function
  6.         Next
  7.         COMPARE = True
  8.     Else
  9.         COMPARE = False
  10.     End If
  11. End Function
复制代码

TA的精华主题

TA的得分主题

发表于 2019-9-5 11:47 来自手机 | 显示全部楼层
本帖最后由 duquancai 于 2019-9-5 18:38 编辑

与标准答案比对,用不着排序后比对。选出的答案(集合) 是否与 标准答案(集合) 相等 。跟顺序无关。

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-9-5 20:51 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
@liulang0808, @tspliu, @ggmmlol, @duquancai  
在这里衷心的对各位说声谢谢,大家给了我不同的角度解决问题的方案,在各位的热心指导下我的问题已经解决,自己又学到了新的知识点,再次感谢各位
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-3-28 20:55 , Processed in 0.041588 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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