2017-04-26 80 views
0

如何将组合框中的每个值通过工作表并检索将存储在单独工作表中的单个单元格?VBA如何将宏的范围扩展到整个工作表

表1:从输入的日期开始,从组合框输入一个位置(存储在表2中)和日期以从外部数据库检索90天的每小时温度。存储最大值。 第3页:需要经过每个位置和存储最大值旁边的位置名称,

现在,我对一个迭代宏:

ActiveWindow.SmallScroll Down:=-6 
    Range("B1").Select 
    Selection.NumberFormat = "General" 
    Range("B1").Select 
    ActiveCell.FormulaR1C1 = "='Load Book'!R[2]C[-1]" 
    Range("B2").Select 
    Sheets("Max Amps").Select 
    ActiveSheet.Calculate 
    Sheets("Load Book").Select 
Range("B3").Select 
Selection.NumberFormat = "0" 
ActiveSheet.Calculate 

这只是工作无论是在那一个细胞。如果我也尝试为下一次迭代记录一个宏,那么第一个最大温度也会变为第二个位置的任何值。如何获得最高温度存储,然后移动到下一个位置而不首先受到影响?我怎样才能将这个应用到400个位置?

+4

从这里开始:http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros。 –

+4

请将您的问题的标题编辑成实际反映您遇到问题的内容。 – Jeeped

+0

@BrandonBarney看看这个:'ActiveWindow.SmallScroll Down:= - 6'这只是一个录音。不要走远。让OP一步一步学习。 – Masoud

回答

0

首先更改代码

 ActiveWindow.SmallScroll Down:=-6 
    Range("B1").NumberFormat = "General" 
    Range("B1").FormulaR1C1 = "='Load Book'!R[2]C[-1]" 
    Sheets("Max Amps").Select 
    ActiveSheet.Calculate 
    Sheets("Load Book").Select 
Range("B3").NumberFormat = "0" 
ActiveSheet.Calculate 
+0

这不是OP要求的答案。除了删除不必要的选择(甚至不包括滚动部分),你什么也没做。你甚至没有将这些纸张变暗以避免选择它们。我甚至不认为这是一个不好的答案。 – Masoud

+0

谢谢你这个笑。 – samred