[英]Loop through a range of cells, inputting data into other cells (drop-down selections) and return the result of calculations
我有一個內置於Excel 2003中的計算器,您可以在其中從下拉菜單中選擇選項,然后收集並計算數據,以返回產生該項目包的總成本。 我想循環瀏覽此下拉列表的所有組合,然后將總單位成本自動返回到另一個單元格。
我已經創建了一個巨大的網格,並在單獨的工作表中輸入了所有可能的下拉菜單。 這是此操作的一個迭代示例,但是顯然,這需要循環,並且單元格引用需要隨移動而偏移。
然后,需要進行兩次更改才能發生完全相同的事情。
並且需要復制工作表中標題為“成本計算器”的單元格E22中的計算結果,並將粘貼到工作表中標題為“成本”的H2中的值再次偏移一列。
這需要使用相同的兩個偏移量發生21次(包括初始時間)。
如果真是這樣,我會很高興,並且我可以只為每一行運行該宏,但是如果它也可以循環向下一行並繼續運行,直到它到達理想的空白單元格。 如果發生這種情況,則在經過21次之后,需要向下移動一行,如下所示:
然后以與以前相同的偏移量循環21次。
我什至不確定Excel是否可以做到這一點,但我認為如果有人在這里可以提供幫助。 如果您對我的問題有任何疑問,請告訴我,我試圖盡可能地描述自己。 希望能傳達出這個想法,如果我需要重新設置工作表的布局以適應可以完成的代碼。
我不確定這正是您要尋找的東西,我被那個
然后與以前相同偏移21倍。 並循環。
我創建了一些代碼來執行以下操作
標題為“成本計算器”的工作表的E8的單元格值=標題為“成本”的工作表的G1的單元格值=標題為“成本計算器”的工作表的E9的單元格值=工作表A2的單元格值標題為“成本計算器”的工作表的E10的單元格值應=標題為“成本”的工作表的B2的單元格值。標題為“成本計算器”的工作表的E11的單元格值應為=標題為“成本”的工作表的C2,標題為“成本計算器”的工作表的E12的單元格值=標題為“成本”的工作表的D2的單元值,需為=“成本計算器”的工作表的E13的單元值,=標題為“成本”的工作表的E2的單元格值,然后需要復制標題為“成本計算器”的工作表的單元格E22中的計算結果,並將該值粘貼到標題為“成本”的工作表的G2中。
然后,需要進行兩次更改才能發生完全相同的事情。 標題為“成本計算器”的工作表的E8的單元格值應=標題為“成本”的工作表的H1的單元格值(偏移一列),並且標題為“成本計算器”的工作表的單元格E22中的計算結果需要為復制並粘貼到名為“成本”的工作表的H2中的值再次偏移一列。
Sub Calc_Loop()
Dim lngRow As Long
Dim intOS As Integer
Dim intCol As Integer
Sheets("Cost Calculator").Select
lngRow = 2
Do
For intOS = 1 To 5
'Set Cells E9 - E13 = to Cells A-E on row lngRow on Sheet Costs
Cells(8 + intOS, 5) = Sheets("Costs").Cells(lngRow, intOS)
Next intOS
'Set E8 to G1 on Sheet Costs
Cells(8, 5) = Sheets("Costs").Cells(1, 7)
'Set G on row lngRow on Sheet Costs to E22
Sheets("Costs").Cells(lngRow, 7) = Cells(22, 5)
'Set E8 to H1 on Sheet Costs
Cells(8, 5) = Sheets("Costs").Cells(1, 8)
'Set H on row lngRow on Sheet Costs to E22
Sheets("Costs").Cells(lngRow, 8) = Cells(22, 5)
lngRow = lngRow + 1
Loop Until IsEmpty(Sheets("Costs").Cells(lngRow, 1))
End Sub
因此,這將遍歷工作表的“成本”,並:
*將G2插入A2-E2的計算輸出中,並加上G1和
*將H2插入A2-E2的計算輸出中,並加上H1
*將G3插入A3-E3的計算輸出中,並加上G1和
*將H3插入A3-E3的計算輸出中,並使用H1 ...
這是您需要的嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.