返回列表 上一主題 發帖

FREQUENCY問題

本帖最後由 luhpro 於 2013-9-10 20:44 編輯
因為工作關係,每天都要使用Excel畫圖,為了增加工作效率請教各位,問題如下

Range("a:b").Select
Sele ...
wes 發表於 2013-9-10 00:00
  1. Range("a:b").Select
  2. Selection.FormulaArray = _
  3. "=FREQUENCY(INDIRECT(ADDRESS(1,24,4,1)):INDIRECT(ADDRESS(2,24,4,1))," & _
  4.            "INDIRECT(ADDRESS(1,25,4,1)):INDIRECT(ADDRESS(2,25,4,1)))"
  5. ' ADDRESS(列號, 欄號, 1=$X$1 2=X$1 3=$X1 4=X1, 0=R1C1 1=A1 表示方式) -> 取得位址表示文字
  6. ' INDIRECT -> 取得表示位址的文字所對應的儲存格參照
複製代碼

TOP

本帖最後由 luhpro 於 2013-9-11 21:00 編輯
回復  luhpro
感謝您的回覆,!但又碰到了問題,再次請教您,
Selection.FormulaArray = _
    "=FREQUENCY(INDIRECT(ADDRESS(2,9,1,1)):INDIRECT(ADDRESS(X,9,1,1))," & _
           "INDIRECT(ADDRESS(15,18,1,1)):INDIRECT(ADDRESS(85,18,1,1)))"
wes 發表於 2013-9-10 22:17

對於儲存格的 FormulaArray 函數來說,
Excel VBA 只要給它一個與 "儲存格公式" 完全相同的字串即可.

你把列號放在 T4 上, 即是要以 T4 儲存格的內容做為其列號,
故而此例設定儲存格公式應改為 :
  1. =FREQUENCY(INDIRECT(ADDRESS(2,9,1,1)):INDIRECT(ADDRESS(T4,9,1,1)),INDIRECT(ADDRESS(15,18,1,1)):INDIRECT(ADDRESS(85,18,1,1)))
複製代碼
亦即只要把 X 用 T4 來取代就可以了.

另在 Excel VBA 中,
兩個 " 之間即為一個字串,(自指令的開頭算起)
而兩個字串間則應用 & 來連結使成 字串A & 字串B 的形式,
若想在該字串中插入變數可以在欲插入的位置上加上  " & 變數名稱 & "
使其變成 "字串頭" & 變數名稱 & "字串尾" 的形式即可.

TOP

        靜思自在 : 口說好話、心想好意、身行好事。
返回列表 上一主題