我對vba相當陌生,有一個相當簡單的問題。是否有人可以幫助:選擇最後一行,範圍,vba
而是選擇特定的細胞,我希望我的VBA宏去關注的柱的底部,跳過和兩個單元下方做到以下幾點:
Range("W72").Select
Selection.NumberFormat = "General"
ActiveCell.FormulaR1C1 = "Null_value"
Range("X72").Select
Selection.NumberFormat = "General"
ActiveCell.FormulaR1C1 = "=R[-2]C[1]-SUM(R[-2]C[-8]:R[-2]C[-6])"
正如你可以看到上面的代碼是指特定的單元格W72和X72。目前,這些列中的最後一項是W70和X70,但下個月我的數據集將變大,因此W72和X72不是執行上述操作的正確位置。我如何糾正這個問題,使得我的vba代碼自動進入W(n)的底部:X(n),跳過一行,並且在W(n + 2)中,X(n + 2)執行上面的代碼。我的公式上面(ActiveCell.FormulaR1C1)也指的是特定的單元格,在我的情況下,行70左邊的幾列,但正如你可能告訴,這也有相同的問題,因爲行引用更改每個月。我需要讓我的vba使公式獲取這些列的最後一行,列是P,Q,R。
感謝您提供的任何幫助。
更新:我同樣的工作項目的一部分,如果任何人都可以幫助,我將不勝感激。謝謝:
大家好,
我現在有關於改變變量的輸入框everymonth:
r_mo = Application.InputBox(提示:=「輸入報表每月YYYYMM(如: 「)
這提示一個輸入框,哪一個必須手動輸入...但是,我想自動執行此過程並且不需要輸入框。 vba中沒有現在的函數會自動生成今天的日期。
從現在開始,或者系統功能,我想要做的就是提取四位數的年份和兩位數的月份。
因此,舉例來說,如果我們在decemeber 2016
子asasdas()
「現在運作」 r_mo = YYYYMM「從 」NOW函數「
末次自動更新
我很感激你能給我的任何幫助,並且非常感謝你。
戴夫給了你一個很好的答案。然而,一個額外的提示,這將使您在VBA中取得很好的效果:幾乎不需要使用代碼選擇單元格。而不是做「範圍(...)。選擇」,然後「Selection.NumberFormat = ...」 - 你可以簡單地說「Range(...)。NumberFormat = ...」。您將瞭解如何使用「選擇」查看宏錄製器的輸出。這就是每個人都在學習的方式:)但是他們接下來要學習的是,當你自己編寫代碼時,你可以直接在單元上直接執行相關操作而無需選擇。祝你好運! –