標題: 合併程式問題 [打印本頁] 作者: jim 時間: 2014-9-4 09:24 標題: 合併程式問題
各位前輩 如下程式應如何合併才可執行 謝謝!
Sub Worksheet_change(ByVal T As Range)
A程式
If T.Address <> "$Q$5" Then Exit Sub
If ActiveSheet.Range("$q$5").Cells = "kk" Then
Run "NewB"
ElseIf ActiveSheet.Range("$q$5").Cells = "ka" Then
Run "NewB"
Else
End If
B程式
If T.Address <> "$F$15" Then Exit Sub
If ActiveSheet.Range("$F$15").Cells <> ActiveSheet.Range("$F$14").Cells Then
Run "PP1"
End If作者: stillfish00 時間: 2014-9-4 11:32
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address(False, False)
Case "Q5"
If Target.Value = "kk" Or Target.Value = "ka" Then Run "NewB"
Case "F15"
If Target.Value <> Range("F14").Value Then Run "PP1"
End Select
End Sub
複製代碼
作者: jim 時間: 2014-9-4 12:42
回復 2#stillfish00
stillfish00對不起
應該是
If ActiveSheet.Range("$q$5").Cells = "kk" Then
Run "NewA"
ElseIf ActiveSheet.Range("$q$5").Cells = "ka" Then
Run "NewB"
程式是否可以這樣寫 請指正
If Target.Value="kk" then
Run "NewA
ElseIf Target.Value="ka" then
run "NewB"
else
End if作者: luhpro 時間: 2014-9-4 22:34
回復 stillfish00
stillfish00對不起
應該是
If ActiveSheet.Range("$q$5").Cells = "kk" Then
...
jim 發表於 2014-9-4 12:42
可以改成底下這樣 : (善用 With 可以少打很多字, 當條件超過兩個時, 可以考慮用 Select Case 函數, Run 是用在須傳回 Range 時, 必要時可以省略)
Private Sub Worksheet_Change(ByVal Target As Range)