我仍然是VBA編程的新學習者,並且遇到了一個我似乎無法找到解決方案的問題。我正在嘗試創建一個工作簿來處理食譜。我打電話給一個用戶窗體,用來在一個宏中添加一個配方,並帶有幾個文本框輸入(〜96個)。當我輸入所有成分,數量,單位並按OK按鈕時,我希望它將用戶表單中的內容寫入工作表。所有文本框以升序命名(例如,.txtIngredient1,.txtIngredient2,...)。是否可以使用for循環將Me.txtIngredientX.Value複製到工作表上的範圍?for Excel循環中的Excel VBA增量變量
我目前的代碼片段:
Sheets("Recipes").Range("B" & addatrow + 0) = Me.txtIngredient1.Value
Sheets("Recipes").Range("B" & addatrow + 1) = Me.txtIngredient2.Value
Sheets("Recipes").Range("B" & addatrow + 2) = Me.txtIngredient3.Value
Sheets("Recipes").Range("B" & addatrow + 3) = Me.txtIngredient4.Value
Sheets("Recipes").Range("B" & addatrow + 4) = Me.txtIngredient5.Value
Sheets("Recipes").Range("B" & addatrow + 5) = Me.txtIngredient6.Value
Sheets("Recipes").Range("B" & addatrow + 6) = Me.txtIngredient7.Value
Sheets("Recipes").Range("B" & addatrow + 7) = Me.txtIngredient8.Value
Sheets("Recipes").Range("B" & addatrow + 8) = Me.txtIngredient9.Value
Sheets("Recipes").Range("B" & addatrow + 9) = Me.txtIngredient10.Value
Sheets("Recipes").Range("B" & addatrow + 10) = Me.txtIngredient11.Value
Sheets("Recipes").Range("B" & addatrow + 11) = Me.txtIngredient12.Value
Sheets("Recipes").Range("B" & addatrow + 12) = Me.txtIngredient13.Value
我已經試過我知道該怎麼做這是這樣的嘛:
for i = 1 to 32
Sheets("Recipes").Range("B" & addatrow - 1 + i) = me.txtIngredient & i.value
不工作。注意:addatrow是宏中的一個變量,它決定了下一個配方應該插入的位置。
任何幫助,非常感謝!
謝謝!
只是想知道如果'範圍( 「B」 &addatrow - 1 + I)',不應該是'range(「B」&(addatrow - 1 + i))'?你也可以使用'Cells(addatrow - 1 + i,2)' – 2014-11-07 18:20:46