2016-04-15 80 views
0

我在工作簿中記錄了工作表的一個副本,並想通過可變速率對某個列中的數字進行建模。我的代碼如下。我想通過輸入框的結果乘以一個範圍

Sub Inflate_Expense() 

    Dim Rate As Integer 
    Dim rngData As Range 

get_Rate: 
    Rate = Application.InputBox("Enter the rate", , , , , , , 1) 

     Set rngData = ThisWorkbook.Worksheets("Sheet1").Range("K103:K256") 
      rngData = Evaluate(rngData.Address & "*Rate") 

End Sub 

會發生什麼事是我的工作表結果#NAME ?,其中IM的價值猜測是因爲它是試圖乘「*率」作爲一個字符串,並且沒有使用「速率」爲結果輸入框。

我知道代碼工作,如果我用數字如更換率:

Set rngData = ThisWorkbook.Worksheets("Sheet1").Range("K103:K256") 
      rngData = Evaluate(rngData.Address & "*1.02") 

什麼我在與被替換

Evaluate(rngData.Address & "*Rate") 

來匹配輸入框結果的難度。

+1

嘗試使用Evaluate(rngData.Address&「*」&Rate) –

+0

當然....!謝謝你,撞牆。 –

回答

0
Sub Inflate_Expense() 

Dim Rate As Variant 
Dim rngData As Range 

get_Rate: 
    Rate = Application.InputBox("Enter the rate", , , , , , , 1) 

     Set rngData = ThisWorkbook.Worksheets("Sheet1").Range("K103:K256") 
      rngData = Evaluate(rngData.Address & "*" & Rate) 

End Sub 
相關問題