返回列表 上一主題 發帖

[發問] 這個可以使用IF公式嗎?

本帖最後由 register313 於 2012-1-1 19:12 編輯

回復 1# appr
公式1 :   =D2+F2-C2  或 =SUM(D2,F2,-C2)
公式2 :   E2=D2   
             E2的數值會跟著D2走,然後再帶入到第一個公式去運算

公式1裡並沒有出現E2 如何把E2代入公式1去運算???

是這樣嗎
公式1 :   =D2+E2-C2  或 =SUM(D2,E2,-C2)
公式2 :   E2=D2

TOP

本帖最後由 register313 於 2012-1-1 22:49 編輯

回復 3# appr
D2與E2兩變數之值既然一定相等 為何不只用一個變數呢?

如果一定要D2與E2兩變數連動 那可能一定要用VBA才作的到
  1. Private Sub worksheet_change(ByVal target As Range)
  2. If target.Address = "$D$2" Then
  3.    Range("E2") = Range("D2")
  4. End If
  5. If target.Address = "$E$2" Then
  6.    Range("D2") = Range("E2")
  7. End If
  8. End Sub
複製代碼
Book1.rar (5.76 KB)

TOP

回復 10# appr

工作表模組
  1. Private Sub worksheet_change(ByVal target As Range)
  2. Set RngA = Range("A2:A4")
  3. Set RngB = Range("B2:B4")
  4. Set RngCA = Intersect(target, RngA)
  5. Set RngCS = Intersect(target, RngB)
  6. If Not RngCA Is Nothing Then
  7.    RngCA.Offset(0, 2) = RngCA.Offset(0, 2) + RngCA.Value
  8.    RngCA.Value = ""
  9. End If
  10. If Not RngCS Is Nothing Then
  11.    RngCS.Offset(0, 1) = RngCS.Offset(0, 1) - RngCS.Value
  12.    RngCS.Value = ""
  13. End If
  14. If target.Address = "$D$2" Then
  15.    Range("E2") = Range("D2")
  16. End If
  17. If target.Address = "$E$2" Then
  18.    Range("D2") = Range("E2")
  19. End If
  20. End Sub
複製代碼

TOP

回復 12# appr
  1. Private Sub worksheet_change(ByVal target As Range)
  2. Set RngA = Range("A2:A4")
  3. Set RngB = Range("B2:B4")
  4. Set RngCA = Intersect(target, RngA)
  5. Set RngCS = Intersect(target, RngB)
  6. If Not RngCA Is Nothing Then
  7.    RngCA.Offset(0, 2) = RngCA.Offset(0, 2) + RngCA.Value
  8.    RngCA.Value = ""
  9. End If
  10. If Not RngCS Is Nothing Then
  11.    RngCS.Offset(0, 1) = RngCS.Offset(0, 1) - RngCS.Value
  12.    RngCS.Value = ""
  13. End If
  14. Set RngD = Range("D2:D4")
  15. Set RngE = Range("E2:E4")
  16. Set RngDE = Intersect(target, RngD)
  17. Set RngED = Intersect(target, RngE)
  18. If Not RngDE Is Nothing Then          'E2~E4=D2~D4
  19.    RngE.Value = RngD.Value
  20. End If
  21. If Not RngED Is Nothing Then          'D2~D4=E2~E4
  22.    RngD.Value = RngE.Value
  23. End If
  24. End Sub
複製代碼

TOP

回復 14# appr


問題一   Set RNG = Union([A2], [A4], [A6])
問題二   不了解說明及功能
問題三    不了解說明及功能

TOP

回復 16# appr

問題3
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. Set RngA = Range("A2:A4")
  3. Set RngB = Range("B2:B4")
  4. Set RngCA = Intersect(Target, RngA)
  5. Set RngCS = Intersect(Target, RngB)
  6. If Not RngCA Is Nothing Then
  7.    RngCA.Offset(0, 6) = RngCA.Offset(0, 6) + RngCA.Value
  8.    RngCA.Value = ""
  9. End If
  10. If Not RngCS Is Nothing Then
  11.    RngCS.Offset(0, 5) = RngCS.Offset(0, 5) - RngCS.Value
  12.    RngCS.Value = ""
  13. End If
  14. End Sub
複製代碼

TOP

本帖最後由 register313 於 2012-2-27 10:14 編輯

回復 19# appr

目前功能如下
1.gif
  1. Private Sub worksheet_change(ByVal target As Range)
  2. Set RngA = Range("A2:A4")
  3. Set RngB = Range("B2:B4")
  4. Set RngCA = Intersect(target, RngA)
  5. Set RngCS = Intersect(target, RngB)
  6. If Not RngCA Is Nothing Then
  7.    RngCA.Offset(0, 2) = RngCA.Offset(0, 2) + RngCA.Value
  8.    RngCA.Offset(0, 6) = RngCA.Offset(0, 6) + RngCA.Value
  9.    RngCA.Value = ""
  10. End If
  11. If Not RngCS Is Nothing Then
  12.    RngCS.Offset(0, 1) = RngCS.Offset(0, 1) - RngCS.Value
  13.    RngCS.Value = ""
  14. End If
  15. Set RngD = Range("D2:D4")
  16. Set RngE = Range("E2:E4")
  17. Set RngDE = Intersect(target, RngD)
  18. Set RngED = Intersect(target, RngE)
  19. If Not RngDE Is Nothing Then          'E2~E4=D2~D4
  20.    RngE.Value = RngD.Value
  21. End If
  22. If Not RngED Is Nothing Then          'D2~D4=E2~E4
  23.    RngD.Value = RngE.Value
  24. End If
  25. End Sub
複製代碼
其餘問題以excel檔案作成範例再加以說明

TOP

回復 21# appr
  1. Private Sub worksheet_change(ByVal target As Range)
  2. Set RngA = Range("A2:A4")
  3. Set RngB = Range("B2:B4")
  4. Set RngCA = Intersect(target, RngA)
  5. Set RngCS = Intersect(target, RngB)
  6. If Not RngCA Is Nothing Then
  7.    RngCA.Offset(0, 2) = RngCA.Offset(0, 2) + RngCA.Value
  8.    RngCA.Offset(0, Month(Now) + 4) = RngCA.Offset(0, Month(Now) + 4) + RngCA.Value
  9.    RngCA.Value = ""
  10. End If
  11. If Not RngCS Is Nothing Then
  12.    RngCS.Offset(0, 1) = RngCS.Offset(0, 1) - RngCS.Value
  13.    RngCS.Value = ""
  14. End If
  15. Set RngD = Range("D2:D4")
  16. Set RngE = Range("E2:E4")
  17. Set RngDE = Intersect(target, RngD)
  18. Set RngED = Intersect(target, RngE)
  19. If Not RngDE Is Nothing Then          'E2~E4=D2~D4
  20.    RngE.Value = RngD.Value
  21. End If
  22. If Not RngED Is Nothing Then          'D2~D4=E2~E4
  23.    RngD.Value = RngE.Value
  24. End If
  25. End Sub
複製代碼

TOP

回復 23# appr
RngCA在A欄(A2~A4與輸入進貨值之交叉)
若現為1月:RngCA.Offset(0, Month(Now) + 4)= RngCA.Offset(0, 1 + 4)=RngCA.Offset(0, 5)
              =A欄向右偏移5欄=F欄
若現為2月:RngCA.Offset(0, Month(Now) + 4)= RngCA.Offset(0, 2 + 4)=RngCA.Offset(0, 6)
              =A欄向右偏移6欄=G欄

TOP

回復 26# appr

單向 D => E     若E更改後會強迫等於D
  1. Set RngD = Range("D2:D4")
  2. Set RngE = Range("E2:E4")
  3. Set RngDE = Intersect(target, RngD)
  4. Set RngED = Intersect(target, RngE)
  5. If (Not RngDE Is Nothing) Or (Not RngED Is Nothing) Then          'E2~E4=D2~D4
  6.    RngE.Value = RngD.Value
  7. End If
複製代碼

TOP

        靜思自在 : 多做多得。少做多失。
返回列表 上一主題