我對Excel VBA比較新。我需要使用相應單元格的值設置多個COUNTA函數的列範圍。每對匹配的單元格都有內部列號和每個函數範圍的最終列號。我試過這樣做,將單元格的值定義爲變量,然後將該變量定義爲地址,並將該值作爲列號。 像這樣:VBA使用列號的單元格值設置函數的範圍
Dim T1Address As String
T1Start = Sheets(2).Range("AQ3").Value
T1End = Sheets(2).Range("AR3").Value
T1Address = Cells(11, T1Start).Address & ":" & Cells(11, T1End).Address
Range("AT3").Select
ActiveCell.Formula = "=COUNTA('1st Sheet'!T1Address)"
的問題是,該功能不起作用,它只是顯示的值「1」,無論在範圍內沒有空白單元格的數量。我瞭解到,列的部分也可以通過給Adress變量的範圍指定一個名稱,所以我找到了一種方法來做到這一點,但它似乎也不起作用。 喜歡傾向:
ActiveWorkbook.Names.Add _
Name:="RangeT1", _
RefersTo:="T1Address"
我在做什麼錯?謝謝!
你傳入'T1Address'爲文字而不是變量:如果是這樣,你的代碼改變。試試這個:'ActiveCell.Formula ='= COUNTA('1st Sheet'!「&T1Address&」)「' –
備用'Select'和'ActiveCell',只需使用'Range(」AT3「)。Formula =」= COUNTA('1st Sheet'!「&T1Address&」)「' –