Office中国论坛/Access中国论坛

标题: [求助]请教一个excel条件的问题 [打印本页]

作者: cake_super    时间: 2007-3-2 18:35
标题: [求助]请教一个excel条件的问题
我现在有一个表,H,O,Q列

H      O       Q

T     20   

F     40

现在我想如果判断当a列的某个单元格为"T" , b的同行单元格<30, 显示“过期”

断当a列的某个单元格为"F" , b的同行单元格>30, 显示“在保修期中”

小弟我嵌套的条件没学好,不知道怎么用

Sub color()
Dim index As Integer
Dim strRangeO As String
Dim strCol As String
Dim strrangeQ As String
Dim strRangeN As String
Dim strRangeH As String
        For index = 3 To 1000
            strrangeQ = "q" + CStr(index)
            strRangeO = "o" + CStr(index)
            strRganeH = "h" + CStr(index)
            strIndex = CStr(index) + ":" + CStr(index)

ElseIf (Range(strRangeO).Value > 30) And (Range(strRangeH).Value = f) Then
            Range(strrangeQ).Value = "在保修期中"
            Rows(strIndex).Select
            With Selection.Interior
                .ColorIndex = 3
                .Pattern = xlSolid
                 Selection.Font.ColorIndex = 1

这个提示   方法range作用于对象'_global'失败。。。求教
作者: ntqcy    时间: 2007-3-2 21:09
用公式不就行了

Q1=IF(AND(H1="T",O1<30),"过期",IF(AND(H1="f",O1>30),"在保修期中",""))
作者: cake_super    时间: 2007-3-2 23:59
。。。我只是举例子。。。我有很多条件阿,不是一个if就可以解决的
作者: cake_super    时间: 2007-3-3 00:02
标题: 回复:(cake_super)[求助]请教一个excel条件的问题
[attach]23333[/attach]


我现在困扰的就是“当前状态”需要更具“到期天数”和“合同类型”的不同而变化,因此我觉得是一个嵌套的条件,不太会作。。。

而且我的代码太复杂了。。。操作起来很慢

有很多“到期天数”都在同一个范围内,比如都是在+30内,有些合同类型是F(free),这些需要将“现在状态”改为 ‘免保合同已经到期在30天之内’   ;   但是有些合同类型不是F(如a,b,c等) ,这些需要将“现在状态”改为 ‘有偿保养合同已经到期在30天之内’

现在就是如果  30〉“到期天数”〉0,并且“合同类型”为F,那么“当前状态”为‘免保合同已经到期在30天之内’;

如果  30〉“到期天数”〉0,并且“合同类型”不为F,那么“当前状态”为‘有偿保养合同已经到期在30天之内’;

如果  90〉“到期天数”〉30,并且“合同类型”为F,那么“当前状态”为‘免保合同已经到期在30天之外’;

如果  -30〉“到期天数",并且“合同类型”为F,那么“当前状态”为‘免保合同将在30后到期’;

其实就是需要更具两列的值来赋值给第三列,不知道怎么处理,而且我觉得可以用select case,我用的if过于繁琐

还有个到期日期的问题,请各位也帮忙看看,因为这个数据的行会经常增加,但是我不知道如何取现有行数。。。拜托各位拉。。。。






欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3