Excel精英培训网

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

[已解决]小白求助

[复制链接]
发表于 2016-11-22 14:12 | 显示全部楼层 |阅读模式
如下面的代码,要对B列的值,在C列做出优劣判断.我的代码错在哪儿,为什么运行没有反应呢?

Sub GTY()
    Dim NB, RT As Byte
    Dim CF As String
    For RT = 1 To 40
        NB = Cells(RT, 2)
        CF = Cells(RT, 3)
        Select Case NB
            Case Is >= 80
                CF = "优"
            Case Is >= 60
                CF = "好"
            Case Is < 60
                CF = "差"
        End Select
    Next RT
End Sub


最佳答案
2016-11-22 14:20
本帖最后由 望帝春心 于 2016-11-22 14:21 编辑
  1. Sub GTY()
  2.     Dim NB, RT As Byte
  3.     For RT = 1 To 40
  4.         NB = Cells(RT, 2)
  5.         Select Case NB
  6.             Case Is >= 80
  7.                  Cells(RT, 3) = "优"
  8.             Case Is >= 60
  9.                 Cells(RT, 3) = "好"
  10.             Case Is < 60
  11.                 Cells(RT, 3) = "差"
  12.         End Select
  13.     Next RT
  14. End Sub
复制代码

工作簿1.rar

14.8 KB, 下载次数: 5

发表于 2016-11-22 14:20 | 显示全部楼层    本楼为最佳答案   
本帖最后由 望帝春心 于 2016-11-22 14:21 编辑
  1. Sub GTY()
  2.     Dim NB, RT As Byte
  3.     For RT = 1 To 40
  4.         NB = Cells(RT, 2)
  5.         Select Case NB
  6.             Case Is >= 80
  7.                  Cells(RT, 3) = "优"
  8.             Case Is >= 60
  9.                 Cells(RT, 3) = "好"
  10.             Case Is < 60
  11.                 Cells(RT, 3) = "差"
  12.         End Select
  13.     Next RT
  14. End Sub
复制代码
回复

使用道具 举报

发表于 2016-11-22 14:22 | 显示全部楼层
回复

使用道具 举报

发表于 2016-11-22 14:27 | 显示全部楼层
大白好快,确实在上面CF本就是错的
回复

使用道具 举报

发表于 2016-11-22 14:33 | 显示全部楼层
桀骜孤星 发表于 2016-11-22 14:27
大白好快,确实在上面CF本就是错的

其实NB都没必要定义的

评分

参与人数 2 +13 收起 理由
苏子龙 + 3 我最高也就只能加3分了,向老师学习
心正意诚身修 + 10 帝心寶寶好棒.帶帶我.

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-11-22 14:42 | 显示全部楼层
谢谢大白啊
CASE下面的语句块必须得直接写,不能像我那样用自定义的变量呗.
NB没必要定义吗,如果要定义的话,是不是定义为RANGE更合适呢?
那么RT是不是也没必要定义啊,我下面都给出取值范围了.
回复

使用道具 举报

发表于 2016-11-22 15:11 | 显示全部楼层
海礁 发表于 2016-11-22 14:42
谢谢大白啊
CASE下面的语句块必须得直接写,不能像我那样用自定义的变量呗.
NB没必要定义吗,如果要 ...

可以用变量的,但是你用完变量要把变量赋值到单元格中去,这样代码就麻烦了,关键是没必要那样做
回复

使用道具 举报

发表于 2016-11-22 15:13 | 显示全部楼层
海礁 发表于 2016-11-22 14:42
谢谢大白啊
CASE下面的语句块必须得直接写,不能像我那样用自定义的变量呗.
NB没必要定义吗,如果要 ...

RT是要定义(这个变量是必须的,有它才能循环),NB没必要可以直接SELECT CASE CELLS...
回复

使用道具 举报

发表于 2016-11-22 15:28 | 显示全部楼层
我是白白
  1. Sub GTY()
  2.     Dim NB, RT As Byte
  3.     Dim CF As String
  4.     For RT = 1 To 40
  5.         NB = Cells(RT, 2)
  6.         Select Case NB
  7.             Case Is >= 80: CF = "优"
  8.             Case Is >= 60: CF = "好"
  9.             Case Is < 60: CF = "差"
  10.         End Select
  11.         Cells(RT, 3) = CF
  12.     Next RT
  13. End Sub
复制代码

评分

参与人数 1 +12 收起 理由
望帝春心 + 12 来学习~原来我中圈套了,哈哈~

查看全部评分

回复

使用道具 举报

发表于 2016-11-22 15:41 | 显示全部楼层

思维定式了,汗~~~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 21:59 , Processed in 0.421117 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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