0

目的の投資額である入力ボックスから値を読み取るコードを取得しようとしています。次に、特定の価格で利用可能な BTC の量のリスト (長さ 40 行) を読み取り、次の行を追加すると希望する投資額よりも大きくなる (つまり、BTC の束を取得するための最も安価な方法を見つけようとしている)。

次に、次の行の残りの値を構成するように少し書きます。明らかに完全には到達しないためですが、このビットを機能させることができないようです。コードを実行すると、あまり意味のない奇妙な結果が得られます。私が作業しているものを見ることができるように、テーブルの例を入れました (最初の価格 94.25 は B3/ActiveCell です) これはおそらく非常に些細なことですが、私はこれまでにこのようなことをしたことがありません. お時間をいただきありがとうございます。概要が十分に明確に説明されていることを願っています。

Sub Projected()
Dim InvestValue As Single
Dim SumBTCE As Single
Dim Sumup As Single
Dim NumBTC As Single
Dim Count As Integer

InvestValue = InputBox("Input investment amount:")
NumBTC = 0
Sumup = 0
ActiveWorkbook.Sheets("BTC-E Data").Cells(3, 2).Select

Do Until (Sumup + (ActiveCell.Offset(Count, 0).Value * ActiveCell.Offset(Count, 1).Value)) >= InvestValue
    For Count = 1 To 40
        Sumup = Sumup + ActiveCell.Offset(Count - 1, 0).Value * ActiveCell.Offset(Count - 1, 1).Value
        NumBTC = NumBTC + ActiveCell.Offset(0, 1).Value
    Next Count
Loop
MsgBox NumBTC
MsgBox Sumup
End Sub

price   BTC USD
94.25   0.1 9.425
94.439  0.34583324  32.66014535
94.44   2   188.88
94.443  0.011   1.038873
94.444  0.4 37.7776
94.493  0.025   2.362325
94.5    0.1 9.45
94.55   0.1 9.455
94.6    0.1 9.46
94.601  0.5 47.3005
94.648  0.0112  1.0600576
94.649  4.12801098  390.7121112
94.65   35.75926753 3384.614672
94.664  2.128011    201.4460333
94.665  3.5 331.3275
94.679  0.1395  13.2077205
94.68   0.15    14.202
94.689  2.128011    201.4992336
94.69   18.73708352 1774.214439
94.698  0.010978    1.03959464
94.699  0.093   8.807007
94.7    0.1 9.47
94.704  0.025   2.3676
94.736  0.0837  7.9294032
94.737  0.09    8.52633
94.749  2.128011    201.6269142
94.75   20.1    1904.475
94.755  0.1 9.4755
94.8    0.1 9.48
94.801  0.03758691  3.56327665
94.81   5.7236763   542.66175
94.829  0.15    14.22435
94.84   0.20095058  19.058153
94.85   0.1 9.485
94.87   0.01    0.9487
94.879  0.401   38.046479
94.88   0.01    0.9488
94.887  0.40930425  38.83765236
94.89   0.01    0.9489
94.9    0.30106377  28.57095176
4

2 に答える 2