ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 求一个从100名员工中,按性别随机抽取30名男生,20名女生的VBA代码

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-6-7 15:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
ivccav 发表于 2018-6-7 14:26
一直搞这个组合没多少实际意思的。论坛还有很多问题都没人能回答上来。

香川基本只在弄她的组合排列, ...

现在论坛里的求助帖都是非常简单的内容,已经没有什么好研究的了。

TA的精华主题

TA的得分主题

发表于 2018-6-7 16:03 | 显示全部楼层
香川群子 发表于 2018-6-7 15:38
现在论坛里的求助帖都是非常简单的内容,已经没有什么好研究的了。



香川老师,我有两个问题问了很久也没人能回答,不知能否帮看一下:
http://club.excelhome.net/thread-1396007-1-1.html
http://club.excelhome.net/thread-1416073-1-1.html

还有一个凑数的问题,这个只能请教你了,截图部分是我使用他人的代码(加了条件):
图片中 kk mod 2=1这个条件是什么道理?这个我没看懂。
我把凑数过程打印出来,发现相同行的数据多次出现,这是重复动作?还是我理解有误?

222032nhsqqnn9wzed7n3x.png
222034s8ve4dcc2ee8d2lo.png

考场编排.zip (67.08 KB, 下载次数: 2)

TA的精华主题

TA的得分主题

发表于 2018-6-8 09:31 | 显示全部楼层

TA的精华主题

TA的得分主题

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

说“论坛里的求助帖都是非常简单的内容”的人多是井底之蛙,

只会一点点东西就以为知道全世界了。

TA的精华主题

TA的得分主题

发表于 2018-6-8 10:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
ivccav 发表于 2018-6-7 15:14
想学组合排列,可以看看组合数学方面的书:图论,组合数学,组合最优,等等。

我开始的时候也喜欢在 ...

23楼这样表达的 IF判断可以吗?

TA的精华主题

TA的得分主题

发表于 2018-6-9 10:25 | 显示全部楼层
lby0712 发表于 2018-6-8 10:42
23楼这样表达的 IF判断可以吗?

可以。逻辑与(And)只要两个参数都为TRUE,其结果就为TRUE。
在VBA中,其实TRUE=-1,只是把所有非零隐式转为TRUE罢了。

不过你写的这句总感觉怪怪的,And的一边是逻辑判断,一边是数字,就不能加一个n>0吗?
还有一点要注意,if 条件1 And 条件2 Then语句,条件1和条件2都将被同时计算,无论是否需要,
例如条件1为FALSE的时候,VBA还会继续计算条件2,显然条件2没有任何计算价值了,如果条件2
计算很复杂的话,两个条件分开写效率更高。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-6-9 10:28 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
ivccav 发表于 2018-6-9 10:25
可以。逻辑与(And)只要两个参数都为TRUE,其结果就为TRUE。
在VBA中,其实TRUE=-1,只是把所有非零隐式 ...

二个条件分开写怎么表达?

TA的精华主题

TA的得分主题

发表于 2018-6-9 10:51 | 显示全部楼层
lby0712 发表于 2018-6-9 10:28
二个条件分开写怎么表达?


分开写就是:
If 条件1 then
    If 条件2 then
这样写,只有满足条件1的时候才会继续计算条件2,条件1为FALSE,直接Pass了。如果条件2的判断需要大量计算,就能节省很多时间。

If 条件1 And 条件2 then这种写法,会同时计算两个条件,很多时候会做了无用的计算,并且有时候还会导致错误,

比如用循环判断窗体某个控件的类型和某个属性值,就可能出错,因为有些控件并没有这个属性,当用And连在一起时,没有的属性也被计算了。

连在一起写,语句更短,一般情况下是没啥影响的,只是要明白这两种写法的区别,并避开可能产生的错误。iif函数也是这个道理。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-6-9 11:07 | 显示全部楼层
ivccav 发表于 2018-6-9 10:51
分开写就是:
If 条件1 then
    If 条件2 then

说的非常有道理,VBA中逻辑运算符  and和or  不存在“短路”!!!

TA的精华主题

TA的得分主题

发表于 2018-6-9 11:08 | 显示全部楼层
ivccav 发表于 2018-6-9 10:51
分开写就是:
If 条件1 then
    If 条件2 then

这个end if 不知道放哪里,图一还是图二?
1.PNG
0.PNG
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-22 13:23 , Processed in 0.043925 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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