ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] VBA 文本的比较

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-6-16 10:41 | 显示全部楼层 |阅读模式
本帖最后由 wongkaye 于 2018-6-16 10:42 编辑

请教各位大神,我想对比两个文本字符串的大小,并返回较大的那个字符串,如何写简要的代码?如:比较"西安","西宁",并返回其中较大的那个。谢谢!

TA的精华主题

TA的得分主题

发表于 2018-6-16 10:55 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-16 15:24 来自手机 | 显示全部楼层
谢谢!我想使用如a=application.max("西安","西宁"),返回a=西安。但是,这样数据类型不匹配,max无法比较字符串,请教如何处理?

TA的精华主题

TA的得分主题

发表于 2018-6-16 18:48 | 显示全部楼层
wongkaye 发表于 2018-6-16 15:24
谢谢!我想使用如a=application.max("西安","西宁"),返回a=西安。但是,这样数据类型不匹配,max无法比较 ...
  1. Sub main()
  2.     Dim js As Object, s$
  3.     Set js = CreateObject("MSScriptControl.ScriptControl")
  4.     js.Language = "JavaScript"
  5.     s = "function fun(a,b){return a>b?a:b;};"
  6.     MsgBox js.eval(s & ";fun('西安','西宁')")
  7. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2018-6-17 08:59 | 显示全部楼层
  1. Sub 比较()
  2. Dim str1 As String
  3. Dim str2 As String

  4. str1 = "西安"
  5. str2 = "西宁"

  6. If StrComp(str1, str2, vbbinary) > 0 Then
  7.     MsgBox str1
  8. Else: MsgBox str2
  9. End If

  10. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2018-6-17 09:02 | 显示全部楼层
wongkaye 发表于 2018-6-16 15:24
谢谢!我想使用如a=application.max("西安","西宁"),返回a=西安。但是,这样数据类型不匹配,max无法比较 ...

那就用VBA的内置字符串比较函数strComp,不要用max函数。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-17 23:45 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-17 23:46 | 显示全部楼层
schliemann 发表于 2018-6-17 09:02
那就用VBA的内置字符串比较函数strComp,不要用max函数。

非常感谢,受教!

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-21 19:19 来自手机 | 显示全部楼层
duquancai 发表于 2018-6-16 18:48

想咨询下,西安>西宁,在VBA中比较的是两者的什么数值呢?可有办法取得这两者的数值?谢谢!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-26 14:34 , Processed in 0.034446 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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