ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享]最新排序法(中括号[]的应用)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-7-26 20:20 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖已被收录到知识树中,索引项:数据类型和基本语句
哎,不小心还是戕害了楼主,再次道歉,也谢谢楼主的分享。

虽然头一次看到[]的用法不是在这坛子里,但是“家“里早有这用法了,
随便去看看狼版,鸟版,白天睡觉兄的帖子,用[]的地方太多了。

我不得不弱弱对版主们说:请多看贴。

楼主的方法实质上是“数组公式“,其实我觉得更应该放到函数版加精。

regards


TA的精华主题

TA的得分主题

 楼主| 发表于 2008-7-26 21:07 | 显示全部楼层

楼上,论坛就是讨论的地方,没什么

至于“随便去看看”,真的不敢认同,看贴太少,真的没见过,偶这里发表的有关“[]”的内容是偶自己偶尔碰巧发现的。

实质上是“数组公式“,这个同意

下面这些语句感觉很有实用性

MsgBox [MAX(1*LEFT(A1:A10000,2))]
MsgBox [MAX(1*MID(A1:A10000,1,2))]
MsgBox [max(len(a1:a10000))]

[此贴子已经被作者于2008-7-26 21:10:27编辑过]

TA的精华主题

TA的得分主题

发表于 2008-7-26 21:14 | 显示全部楼层
俺不是激愤,也不是怨妇,只是就事论事。
并不是楼主的方法不好,只是觉得分量不够而已。
如果说楼主能够就[]的实质,与evaluate的区别进行阐述,
做出概念上的剖析,告诉大家为什末这样用,为什末可以
这样用,再用大量的事例来充实,很显然这就是一篇很精彩
的好文,堪称精华。好比山版的数组入门,很高深吗?不是,
但很形象的把概念阐述的一清二楚,很精彩。 误区经常表现
在貌似很高深的技术,方法才是精华,其实并不完全是这样的。
概念和实践永远是同样重要的,只有概念清晰了,才能灵活
运用,一理通,百里汇。
希望版主们能够给与会员正确的引导,合理化的建议,把不够分量
的帖子扶植成精华,让更多的会员学习,而不是简单的下定论此贴是否精华。

说了很多不该说的,俺也是本着对家负责的角度出发的
得罪莫怪。

Sincerely

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2008-7-26 21:24 | 显示全部楼层
我是怎末都择不清了,楼主大哥,我从来没否认这些
是您摸索出来的,能看出妙想的痕迹,也确实很简捷,实用。

不多说了,祝好运
regards

TA的精华主题

TA的得分主题

发表于 2008-7-26 21:31 | 显示全部楼层

谢谢楼主分享。

我以前也用过一些,如:

http://club.excelhome.net/viewthread.php?tid=309312&replyID=1273291&skin=0

一个简单的例子:

Sub macro1()
MsgBox Join([transpose(row(a1:a256))], ",")
End Sub

TA的精华主题

TA的得分主题

发表于 2008-7-26 23:01 | 显示全部楼层
QUOTE:
以下是引用northwolves在2008-7-26 21:31:05的发言:

谢谢楼主分享。

我以前也用过一些,如:

http://club.excelhome.net/viewthread.php?tid=309312&replyID=1273291&skin=0

一个简单的例子:

Sub macro1()
MsgBox Join([transpose(row(a1:a256))], ",")
End Sub

学习了。

[em17]

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-7-26 23:11 | 显示全部楼层

学习!!!!!!!!!!!!!!!!

MsgBox Join([TRANSPOSE(A1:A9)])

这样文本连接,真简单哈

 

呵呵,玉引出来了,偶的这个帖没有白发

[此贴子已经被作者于2008-7-26 23:14:18编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-7-27 03:35 | 显示全部楼层

很有几句话想说,所以半夜过来,写上几句

帖子能在home被加精,无疑是令人向往的事儿。

vba偶是菜鸟级的,但绝对是爱好者,论坛上各位的帖子代码偶阅览抄袭修改了无数,从中获益匪浅。

本帖最早的思路是因为要得到MsgBox [max(len(a1:a10000))]这个数据而引发的,纯属碰巧。

由此思路,扩展开来,偶发现此方法现有许多有使用价值的地方。

因为水平菜,知道自己弄不出多少理论上的东东,发此贴的目的有很大抛砖引玉的成分,知道众高手们如果稍稍重视这个,定会弄出些出彩的东西的。

因为误会自己是第一个吃此螃蟹者,所以做了申请加精。

从一楼看到十七楼,感谢大家的支持与探讨。

既然不是实至名归,偶诚惶诚恐,在此再次申请版版们去掉该帖的加精华。

 

既然已经因为此贴引起了各位高手们的注意,偶索性把自己发在原创区的几个帖子链接过来,盼高手们给指点指点

http://club.excelhome.net/viewthread.php?tid=341345&replyID=&skin=0

http://club.excelhome.net/viewthread.php?tid=337915&replyID=&skin=0

http://club.excelhome.net/viewthread.php?tid=319356&replyID=&skin=0

http://club.excelhome.net/viewthread.php?tid=276432&replyID=&skin=0

[此贴子已经被作者于2008-7-27 3:39:21编辑过]

TA的精华主题

TA的得分主题

发表于 2008-7-27 08:27 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

欣赏了各位前辈的佳作,包括链接的文章,再逐句测试了一遍,收获很大,总体感觉为:本文是[]和数组在VBA中的用法

可以简化,不用写"Application.WorksheetFunction."这一段;

纵向,横向可以方便调整;

可以配合使用join, split 根据需要合并或分割;

可以生成数组;可以快速一次性合并单元格文本;

排序要比我录制的宏简捷

arr = [MID(A1:A9,1,2)*ROW(A1:A9)^0] 可以一次性提取一列数据中指定位置的内容。

但我不赞成m=[COUNTA(A:A)] 的用法。倾向于m=[a65536].End(xlUp).Row 

虽然这2句使用都是有条件的,都有局限性,但[a65536].End(xlUp).Row 的适用性应好些

最后,这个排序只解决了一列,实际中多列是很普遍的,一列反而很少用到。

TA的精华主题

TA的得分主题

发表于 2008-7-27 09:54 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

撇开运行效率不谈,此帖个人认为绝对值得加精,虽然不是原创,但从来没有人提出评论,也没有人正视过,(当然用数组讲的就是效率,这是无人青睐的主因),换个角度来想,让代码简单也是一种效率,尤其非处理庞大数据时。而楼主企而不舍的研究,直得推崇。

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

本版积分规则

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

GMT+8, 2024-11-24 15:40 , Processed in 0.032869 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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