2017-04-26 79 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