返回列表 上一主題 發帖

[發問] VBA 問題求教

回復 1# ahsiek
圖解



感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 3# ahsiek
你的意思是說原本工作表1是用DDE連結現貨或履約價的數值,DDE連結現貨或履約價的數值,現改放在工作表2計算後,在工作表1的儲存格用公式傳回工作表2這些值.
  1. Option Explicit
  2. ' ** 工作表內有公式的儲存格:公式的數值有變動,使用此工作表的預設事件
  3. Private Sub Worksheet_Calculate()
  4.   Dim i As Integer
  5.   Application.EnableEvents = False
  6.   'EnableEvents 屬性  如果指定物件能觸發事件,則本屬性為 True。讀/寫 Boolean。
  7.    For i = 5 To 14
  8.         Call Macro1(i)  
  9.    Next
  10.     ''' 程式碼
  11.     ''' 程式碼
  12.     ''' 程式碼
  13.    Application.EnableEvents = True
  14. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2013-5-2 15:17 編輯

回復 5# ahsiek
【台選】儲存格L5  =工作表1!B2
當【工作表1】儲存格B2 有變更 會引發 【台選】的重算事件
  1. Private Sub Worksheet_Calculate()   '【台選】的重算事件程式碼
  2.   Dim i As Integer
  3.   Application.EnableEvents = False  '停止 觸發事件
  4.   For i = 5 To 14
  5.         Call Macro1(i)
  6.    Next
  7.    Application.EnableEvents = True  '恢復 觸發事件
  8. End Sub
複製代碼
  1. Sub Macro1(r As Integer) 'r為參數代表列號.integer為整數型態
  2.     With Sheets("台選")
  3.         .Range("M" & r).GoalSeek Goal:=.Range("N" & r).Value, ChangingCell:=.Range("D" & r)
  4.     End With
  5. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2013-5-2 15:28 編輯

回復 8# ahsiek

'【台選】,【台選 2】 的事件程序
  1. Option Explicit
  2. Private Sub Worksheet_Change(ByVal Target As Range)
  3.    Dim i As Integer
  4.    Application.EnableEvents = False  '停止 觸發事件
  5.    For i = 5 To 14
  6.         Call Macro1(i, Me)  'ME 指物件模組本身        
  7.    Next
  8.    Application.EnableEvents = True  '恢復 觸發事件
  9. End Sub
  10. Private Sub Worksheet_Calculate()   '重算事件
  11.   Dim i As Integer
  12.   Application.EnableEvents = False  '停止 觸發事件
  13.   For i = 5 To 14
  14.         Call Macro1(i, Me)
  15.    Next
  16.    Application.EnableEvents = True  '恢復 觸發事件
  17. End Sub
複製代碼
  1. '程序新增接收參數 型態為Worksheet物件
  2. Sub Macro1(r As Integer, Sh As Worksheet) 'r為參數代表列號.integer為整數型態
  3.     '' Macro1 Macro''
  4.     With Sh
  5.          .Range("M" & r).GoalSeek Goal:=.Range("N" & r).Value, ChangingCell:=.Range("D" & r)
  6.     End With
  7. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 10# ahsiek
像【台選】的工作表有六個之
可用物件類別模組 減少 程式碼的建立
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 原諒別人就是善待自己。
返回列表 上一主題