Application.Caller
を使用して、プロシージャがどこから呼び出されているかについての情報を収集できます。
私はApplication.Caller.Column
を使用して、条件を満たすために私のデータがどこから来たのかを調べました。私はこの方法を使ってきた方法の
例:
If Application.Caller.Column = 20 Then Call ChangeDirectionForSellSide(firstLegBuySell, secondLegBuySell, futureLegBuySell)
'First option leg built
chatConfirmString = "You " & firstLegBuySell & " " & Format(firstLegQuantity, "#,##0") & DetermineProductMeasurementType(productType, tradeDataRange.Item(2).Value, contractMonth) & " " & productType & " " & tradeDataRange.Item(2).Value & " " & contractMonth & " " & Format(tradeDataRange.Item(6).Value, "#,###.00##") & " " & tradeDataRange.Item(7).Value & " @ "
'Formats the price type
If productType = "WTI" Or productType = "BRT ICE" Or productType = "FO 3.5%" Or productType = "GO" Then
chatConfirmString = chatConfirmString & Format(tradeDataRange.Item(8).Value, "#,###.00")
Else
chatConfirmString = chatConfirmString & Format(tradeDataRange.Item(8).Value, "#,###.0000")
End If
あなたは上記の投稿のコードを持ついくつかの問題があります。 アプリケーションの構文が間違っている(誤解から)参考にしようとしているものは、「これまでに何があったのか」とApplication.Caller.
と言わなければなりません。プロシージャはオブジェクトではありません(少なくとも私の知識ではありません)が、あなたのコードにはどのような状況がありますか?これはUDFのためのものなので範囲を返すことができますか?シートを返すことはできますか?手続きはどこですか?ブール値を真または偽と評価する条件を正確に作成するためには、これらの質問が必要です。
はありません、に知る方法はありませんどのように呼び出されるのか –
私の答えは間違っている可能性がありますが、答えを正しく理解していれば、Application.callerを使用して特定の方法で情報を収集できます。 – StormsEdge
@PaulOgilvie、これは非常に困難です。 –