下面那段简单代码,三个if是不是需要同时成立的?不是的话,怎么才能让三个条件同时成立再执行下面的赋值语句?怎么把两段代码整合在一起?请大神优化一下Subb()Fork=3To238Forn=1To1... 下面那段简单代码,三个if是不是需要同时成立的?不是的话,怎么才能让三个条件同时成立再执行下面的赋值语句?怎么把两段代码整合在一起?请大神优化一下
Sub b()
For k = 3 To 238
For n = 1 To 17
If Sheets("授课数据表").Range("c" & k) = Sheets(n).Name Then
If Sheets("授课数据表").Range("f" & k) = "一" Then
If Sheets("授课数据表").Range("g" & k) = "1--2" Then
Sheets(n).Range("b9:e9") = Sheets("授课数据表").Range("d" & k)
Sheets(n).Range("b10:e10") = Sheets("授课数据表").Range("i" & k)
Sheets(n).Range("b11:e11") = Sheets("授课数据表").Range("e" & k)
Sheets(n).Range("b12:e12") = Sheets("授课数据表").Range("h" & k)
End If
End If
End If
Next
Next
End Sub
Sub b2()
For k = 3 To 238
For n = 1 To 17
If Sheets("授课数据表").Range("c" & k) = Sheets(n).Name Then
If Sheets("授课数据表").Range("f" & k) = "二" Then
If Sheets("授课数据表").Range("g" & k) = "1--2" Then
Sheets(n).Range("b13:e13") = Sheets("授课数据表").Range("d" & k)
Sheets(n).Range("b14:e14") = Sheets("授课数据表").Range("i" & k)
Sheets(n).Range("b15:e15") = Sheets("授课数据表").Range("e" & k)
Sheets(n).Range("b16:e16") = Sheets("授课数据表").Range("h" & k)
End If
End If
End If
Next
Next
End Sub
两段语句的条件是不一样的
If Sheets("授课数据表").Range("f" & k) = "一" Then
跟第二段里面
If Sheets("授课数据表").Range("f" & k) = "二" Then
一个是“一”,一个是”二“

亲,收作业吧,已经合并了,IF也改了

建议您以后写代码分一下级,自己读起来也轻松些

Sub b()
For k = 3 To 238
    For n = 1 To 17
        If Sheets("授课数据表").Range("c" & k) = Sheets(n).Name And _
          Sheets("授课数据表").Range("f" & k) = "一" And _
          Sheets("授课数据表").Range("g" & k) = "1--2" Then
            Sheets(n).Range("b9:e9") = Sheets("授课数据表").Range("d" & k)
            Sheets(n).Range("b10:e10") = Sheets("授课数据表").Range("i" & k)
            Sheets(n).Range("b11:e11") = Sheets("授课数据表").Range("e" & k)
            Sheets(n).Range("b12:e12") = Sheets("授课数据表").Range("h" & k)
            Sheets(n).Range("b13:e13") = Sheets("授课数据表").Range("d" & k)
            Sheets(n).Range("b14:e14") = Sheets("授课数据表").Range("i" & k)
            Sheets(n).Range("b15:e15") = Sheets("授课数据表").Range("e" & k)
            Sheets(n).Range("b16:e16") = Sheets("授课数据表").Range("h" & k)
        End If
    Next
Next
End Sub‍
谢谢哈,不过我想问的是,第一段里面
If Sheets("授课数据表").Range("f" & k) = "一" Then
跟第二段里面
If Sheets("授课数据表").Range("f" & k) = "二" Then
他们的条件判断是不一样的,一个是“一”,一个是“二”,所以我才想问,能不能优化他们,因为我自己写出来了,一下子有十段,就想着怎么整合他们

亲,抱歉,太马虎了,现在改好了,您再看看

Sub b()
For k = 3 To 238
    For n = 1 To 17
        If Sheets("授课数据表").Range("c" & k) = Sheets(n).Name And _
          Sheets("授课数据表").Range("g" & k) = "1--2" Then
            Select Case Sheets("授课数据表").Range("f" & k)
                Case "一"
                    Sheets(n).Range("b9:e9") = Sheets("授课数据表").Range("d" & k)
                    Sheets(n).Range("b10:e10") = Sheets("授课数据表").Range("i" & k)
                    Sheets(n).Range("b11:e11") = Sheets("授课数据表").Range("e" & k)
                    Sheets(n).Range("b12:e12") = Sheets("授课数据表").Range("h" & k)
                Case "二"
                    Sheets(n).Range("b13:e13") = Sheets("授课数据表").Range("d" & k)
                    Sheets(n).Range("b14:e14") = Sheets("授课数据表").Range("i" & k)
                    Sheets(n).Range("b15:e15") = Sheets("授课数据表").Range("e" & k)
                    Sheets(n).Range("b16:e16") = Sheets("授课数据表").Range("h" & k)
            End Select
        End If
    Next
Next
End Sub