Excelで通貨コンバーターを作成しようとしています。
Cell B1 = exchange rate
cell B2 = base currency amount
cell B3 = counter currency amount.
例:
B1 = 1.3, B2 = Euro amount, B3 = USD amount.
3 つのセルはすべて、式によって相互に接続されていB3 = B1*B2
ます。
B2
に値を入力して、B3
自動的に更新できるようにしたい(B3 = B2*B1)
に値を入力するとB3
、B2
それ自体が更新されます(B2 = B3/B1)
。
以下のコードは私が思いつくことができる最高のものですが、スタックスペース不足のエラーが発生するためです(おそらく、無限ループに陥ります(B2
が更新されると、B3
それ自体が更新され、それがB2
再び更新されます... )。
なにか提案を?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim EUR As Range
Set EUR = Range("b2")
Dim USD As Range
Set USD = Range("b3")
If Not Application.Intersect(EUR, Range(Target.Address)) Is Nothing Then
Sheets("sheet1").Range("B3").Value = Range("B2") * Range("B1")
Else
If Not Application.Intersect(USD, Range(Target.Address)) Is Nothing Then
Sheets("sheet1").Range("B2").Value = Range("B3") / Range("B1")
End If
End If
End Sub