我有一个在Excel 2003中构建的计算器,您可以从下拉菜单中选择选项,然后收集并计算数据,返回生成该项目包的总成本。我想要的是循环浏览此下拉列表的所有组合,并自动将总单位成本返回到另一个单元格。
我已经创建了一个大型网格,其中包含在单独的工作表中输入的所有可能的下拉选项。下面是一个迭代的示例,但显然这需要循环,并且单元格引用需要随移动而偏移。
然后,2次更改需要完全相同的事情。
并且需要复制标题为“成本计算器”的工作表单元格E22中的计算结果,并且粘贴到标题为“成本”的工作表的H2中的值再次偏移一列。
这需要发生21次(包括初始时间)和相同的两个偏移。
如果是这种情况,我会很高兴,我可以为每一行运行宏,但如果它也可以循环下行并继续运行,直到它达到一个理想的空白单元格。如果发生这种情况,那么经过21次之后它需要向下移动,并且会出现以下情况:
然后是21次前的相同偏移并循环。
我甚至不确定这是否可以用Excel,但我想如果有人在这里将能够提供帮助。如果您对我提出的问题有任何疑问,请告诉我,我尽量做到描述性。希望这个想法得到传达,如果我需要重新格式化我的工作表的布局以适应可以完成的代码。
答案 0 :(得分:0)
我不确定这正是你要找的,我被
抛出然后是与21之前相同的偏移量 倍。并循环。
我创建了一些将执行以下操作的代码
工作表的E8的单元格值 题为“成本计算器”需要= 工作表的G1的Cell值 标题为“成本”的E9的单元格值 标题为“成本”的工作表 计算器“需要=单元格值 对于标题为的工作表的A2 “成本”E10的单元格值 标题为“成本计算器”的工作表 需要= B2的单元格值 标题为“成本”单元格的工作表 工作表的E11值 题为“成本计算器”需要= 工作表的C2的单元格值 标题为“成本”的E12的单元格值 标题为“成本”的工作表 计算器“需要=单元格值 对于标题为的工作表的D2 E13的“成本”单元格值 题为“成本计算器”的工作表 需要= E2的单元格值 标题为“成本”的工作表然后 计算结果在单元格E22中 标题为“成本”的工作表 计算器“需要复制和 粘贴到工作表的G2中的值 题为“成本”。
然后完全相同的事情需要 发生2次变化。细胞价值 工作表的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的计算输出插入G2,G1和
*插入H2用于计算输出A2 - E2和H1
*为A3-E3的计算输出插入G3,G1和
*为A3 - E3的计算输出插入H3,其中H1 ...
这是你需要的吗?