Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1804|回复: 8

求助查询后按人数调用程序的写法

[复制链接]
发表于 2019-12-9 22:43 | 显示全部楼层 |阅读模式
本帖最后由 caizhiliang 于 2019-12-10 22:32 编辑

当查询结果为15人以内  调用15人的排版当查询结果为20人以内  调用20人的排版
当查询结果为25人以内  调用25人的排版
当查询结果为30人以内  调用30人的排版




请老师帮忙

求助333.rar

647.7 KB, 下载次数: 6

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2019-12-10 01:11 | 显示全部楼层
If i <= 15 Then
        Call 排版15人
    End
    If i <= 25 Then
        Call 排版25人
        End If

可是  i  这个变量怎么表示出来   我就不懂写了

请老师指点
回复

使用道具 举报

发表于 2019-12-10 08:35 | 显示全部楼层
1、把你的变量判断变换一下:
    if i<=15 then
       call 排版15人
    endif
    if (i>15) and (i<=25) then
       call 排版25人
    endif

2、用case
    select case i
    case is <=15
      call 排版15人
    case is <=25
     call 排版25人
    case else       '这是例外情况,根据情况使用,可以不写这一行
     
    end select
回复

使用道具 举报

发表于 2019-12-10 09:54 | 显示全部楼层
  1. Sub test()
  2. Dim n&
  3. n = 28
  4. If n <= 15 Then n = 15 Else n = -Int(-n / 5) * 5
  5. Run "排版" & n & "人"
  6. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2019-12-10 10:49 | 显示全部楼层
hfwufanhf2006 发表于 2019-12-10 08:35
1、把你的变量判断变换一下:
    if i15) and (i

老师  您的代码放进去没有反应
回复

使用道具 举报

 楼主| 发表于 2019-12-10 10:51 | 显示全部楼层

老师  您的代码放进去后声明重复   删了声明后  也是没有反应
回复

使用道具 举报

发表于 2019-12-10 12:11 | 显示全部楼层
caizhiliang 发表于 2019-12-10 10:49
老师  您的代码放进去没有反应

我看不明白你说的“没反应”是什么意思:1、要么代码有错误,会有错误提醒,你根据错误信息再更正;

2、要么达不到你希望的目标,这个需要根据变量值的变化来调试,一般要用到断点调试才好找出原因;

你文件我也下载了,你这个文件在你之前的帖子也有过的,但我完全看不懂。因为你这个项目是一个大工程,不是三言两语能讲明白的。
我也看不到你所说问题的代码在哪里?排版15人、排版25人、排版30人这三个过程我是看到了的,但你的控制流程代码我找不到,无法帮你调试;
回复

使用道具 举报

发表于 2019-12-10 12:53 | 显示全部楼层
网络限制不能下载附件,我的本意只是举个例子,能看明白就会套用,看不明白,即使帮你写好了,
以后你要更改功能还是要求人,下面是完整的示例,你可以整体复制到标准模块下面测试。
注意:不是必须在标准模块下面才能运行,但是代码需要稍作修改。

  1. Sub test()
  2. Dim n&
  3. n = InputBox("Please enter a number between 1 and 30")
  4. If n <= 15 Then n = 15 Else n = -Int(-n / 5) * 5
  5. If n > 30 Then MsgBox "Overflow!": Exit Sub
  6. Run "test_" & n
  7. End Sub

  8. Sub test_15()
  9. MsgBox "test15"
  10. End Sub

  11. Sub test_20()
  12. MsgBox "test20"
  13. End Sub

  14. Sub test_25()
  15. MsgBox "test25"
  16. End Sub

  17. Sub test_30()
  18. MsgBox "test30"
  19. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2019-12-10 22:32 | 显示全部楼层
大灰狼1976 发表于 2019-12-10 12:53
网络限制不能下载附件,我的本意只是举个例子,能看明白就会套用,看不明白,即使帮你写好了,
以后你要更 ...

版主您好   用了if 语句判断   写好了   之前是自己没有注意细节    没有加else   导致每次都直接到最后一个了
还是非诚感谢大家   新手上路   请大家多指教
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-19 17:43 , Processed in 0.312872 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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