Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveSheet.Name = "Sheet3" Then Sheets("Sheet1").Range("A1") = Range("C5").Value
If ActiveSheet.Name = "Sheet1" Then Sheets("Sheet3").Range("C5") = Range("A1").Value
End Sub
    
    这样运行是没问题的,现在我想加上别的条件,不知道该用什么格式,尝试直接把新条件加进去,死循环了,如下:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveSheet.Name = "Sheet3" Then Sheets("Sheet1").Range("A1") = Range("C5").Value
If ActiveSheet.Name = "Sheet1" Then Sheets("Sheet3").Range("C5") = Range("A1").Value
If ActiveSheet.Name = "Sheet3" Then Sheets("Sheet1").Range("A2") = Range("C6").Value
If ActiveSheet.Name = "Sheet1" Then Sheets("Sheet3").Range("C6") = Range("A2").Value
End Sub    我又想是不是应该这样,结果提示“end sub、end function、end属性后面只能出现注释”
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveSheet.Name = "Sheet3" Then Sheets("Sheet1").Range("A1") = Range("C5").Value
If ActiveSheet.Name = "Sheet1" Then Sheets("Sheet3").Range("C5") = Range("A1").Value
End Sub
If ActiveSheet.Name = "Sheet3" Then Sheets("Sheet1").Range("A2") = Range("C6").Value
If ActiveSheet.Name = "Sheet1" Then Sheets("Sheet3").Range("C6") = Range("A2").Value
End Sub求达人告知,正确的操作应该怎么做?

解决方案 »

  1.   

    不知道你要做成什么样的,我理解是
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If ActiveSheet.Name = "Sheet3" Then
     Sheets("Sheet1").Range("A1") = Range("C5").Value
     Sheets("Sheet1").Range("A2") = Range("C6").Value
    end if 
    If ActiveSheet.Name = "Sheet1" Then
     Sheets("Sheet3").Range("C5") = Range("A1").Value
     Sheets("Sheet3").Range("C6") = Range("A2").Value
    end if 
    End Sub
    建议楼主看看 VB基础书吧,
      

  2.   


    应该是这样
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)If ActiveSheet.Name = "Sheet3" Then 
       Sheets("Sheet1").Range("A1") = Range("C5").Value
       Sheets("Sheet1").Range("A2") = Range("C6").Value
    elseif  ActiveSheet.Name = "Sheet1" Then 
       Sheets("Sheet3").Range("C5") = Range("A1").Value
       Sheets("Sheet3").Range("C6") = Range("A2").Value
    end ifEnd Sub
      

  3.   

    别外可以:Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)select case ActiveSheet.Name
       case "Sheet3"
          Sheets("Sheet1").Range("A1") = Range("C5").Value
          Sheets("Sheet1").Range("A2") = Range("C6").Value
       case "Sheet1"  
          Sheets("Sheet3").Range("C5") = Range("A1").Value
          Sheets("Sheet3").Range("C6") = Range("A2").Value
    end selectEnd Sub
      

  4.   

     if
     else
     endif