我有一个内置在Excel 2003中的计算器,在该计算器中,您可以从下拉菜单中选择选项,然后收集和计算数据,返回生成该项目包的总成本。我想要的是循环通过这个下降的所有组合,并自动将总单位成本返回给另一个单元。
我已经创建了一个巨大的网格,在一个单独的工作表中输入了所有可能的下拉选择。这里是一个例子,它的一个迭代,但很明显,这需要循环和单元格引用需要抵消移动。
题为“成本计算器”的工作表的
然后,完全相同的事情需要发生在两个变化。
题为“成本计算器”的工作表的
需要复制题为“成本计算器”的工作表单元格E22中的计算结果,并将值粘贴到题为“成本”的工作表的H2中,再由一列抵消。
这需要用相同的两个偏移发生21次(包括初始时间)。
如果是这样的话,我会很高兴的,我可以为每一行运行宏,但是如果它也可以向下循环并继续运行,直到它到达一个空白处,这将是理想的。如果发生这种情况,在跨越21次之后,它需要向下移动一行,如下所示:
题为“成本计算器”工作表的
然后与之前相同的偏移量21次并循环。
我甚至不确定Excel是否能做到这一点,但我想,如果有人在这里将能够提供帮助。如果你对我的问题有任何疑问,请告诉我,我尽量做到描述性好。希望这个想法得到传达,如果我需要重新格式化我的工作表的布局,以适应同样可以完成的代码。
发布于 2010-01-25 23:21:32
我不确定这正是你要找的,我被
然后
的偏移量与前21倍相同。然后循环。
我创建了一些代码来执行以下操作
题为“成本计算器”的工作表中题为“成本计算器”的工作表的
单元格值需要=题为“成本计算器”的工作表中题为“成本计算器”的E9的单元格值,该工作表中题为“成本计算器”的工作表中题为“成本”单元值的工作表的E8单元值单元值需要=题为“成本计算器”的工作表中题为“成本”的工作表的单元格值,即题为“成本计算器”的工作表的E11单元格值需要=工作表C2的单元格值。题为“成本计算器”的工作表中题为“E12”的单元格值需要=题为“成本计算器”的工作表的题为“成本”单元值的工作表的D2单元格值,题为“成本计算器”的工作表的单元格值需要=题为“成本”的工作表的单元格值,然后需要复制题为“成本计算器”的工作表单元格D2的计算结果,并将值粘贴到题为“成本”的工作表的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因此,这将在“成本”表中循环进行,并:
*为A2 - E2的计算输出插入G1和
*将H2插入A2 - E2与H1的计算输出
*为A3 - E3的计算输出插入G1和
*在H3中插入A3 - E3与H1的计算输出。
这就是你需要的吗?
https://stackoverflow.com/questions/2102882
复制相似问题