在子過程中呼叫動態陣列的 VBA 問題

發布 教育 2024-06-21
12個回答
  1. 匿名使用者2024-01-29

    我不太明白你的意思,也不知道這個根本不起作用還是執行錯誤。

    首先,我沒有使用子程序。 但我認為可能是你的變數傳遞有問題。

    除此之外。 1.我認為o是無用的。 也就是說,o 的賦值沒有意義。

    2.你沒有指定陣列的寬度,所以你不能執行它(動態陣列也必須指定寬度),一般dim arr() n = a值(當時可以得到的精確值),然後redim arr(1到n)。

    3. arr() 以 1 到 開頭,然後 a() 變成 0 到 4,msgbox 是錯誤的。

    5. 另外,我認為你 q=q+1 你應該把它放在 end if 之後嗎?

    6. 我沒有使用子流程。 我認為在子程序開始時,您應該將子程序放在主程式正確執行之後,然後將其應用於子程序(以便更容易檢查錯誤)。

  2. 匿名使用者2024-01-28

    sub macro1()

    dim arr, i as long

    arr =on error resume next

    i = , arr)

    if = 0 then

    msgbox "元素 2 在陣列中的位置為:" & ielse

    msgbox "陣列中不存在元素 2"

    end if

    end sub

  3. 匿名使用者2024-01-27

    沒有必要深入研究為什麼,如果你必須問為什麼,你必須問Microsoft。 arr() 是乙個動態陣列,陣列結構會自動生成,連續範圍區域的值被分配給這個變數,VBA 預設將其視為乙個陣列,一旦賦值,陣列大小和元素值就確定了。

  4. 匿名使用者2024-01-26

    沒有動態陣列。

    即使您使用像 dim arr()這樣的宣告作為字串,一旦分配了值,陣列大小也是固定的。

    如果要更改陣列大小。

    使用 redim 命令。

    redim arr(10)

    preserve redim arr()

    新增 preserve 以保持陣列未清空。

  5. 匿名使用者2024-01-25

    這與 VB 中的格式相同!

    dim d() 作為資料型別。

  6. 匿名使用者2024-01-24

    你必須使用動態陣列,如果你不必把它們全部拿出來,使用動態陣列一次讀取一行,讀取足夠多的需要,退出做跳出,如果你必須全部使用它們,那麼拆分就更簡單了。

  7. 匿名使用者2024-01-23

    sub test()

    dim arr(),h as long, l as longarr = range("a1:c8")

    l = 2h = 5

    msgbox "工作。

    錶號" & h & "好的,部分" & l & "該列的值為:" & arr(h, l), title:="在主程式中。

    資訊容量"call cd(arr, h, l)

    end sub

    sub cd(iarr, ih, il)

    ss = iarr(ih, il)

    msgbox "工作表的第一部分" & ih & "好的,部分" & il & "該列的值為:" & ss, title:="子程式資訊"

    end sub

  8. 匿名使用者2024-01-22

    將子例程陣列變數定義為公共變數!!

  9. 匿名使用者2024-01-21

    只需乙個變數名稱就可以了。

  10. 匿名使用者2024-01-20

    課堂模組的編寫與日常寫作的程式設計思路形成了鮮明的對比,課堂模組的主題是創造,日常練習是運用。

    禁止在類模組中使用公共型別的動態陣列作為模組級變數,私有級變數不能被外界直接呼叫,因此失去了陣列的意義。

    rem -==巴蜀兄弟 ==- 來自團隊的支援。

    public arr as new collection

    public function add(byref r as range) as range

    set add = r '建立對與引數 r 對應的單元格的引用。

    add '將已建立的引用例項新增到 arr 集合中。

    end function

    然後,標準模組建立乙個例項並返回集合元素的值:

    private mm as new unsamesky '建立類模組 unsamesky mm 的例項

    private sub xx()

    dim i as long

    for i = 1 to 10

    1) '將單元格 A1 到 A10 新增到 mm 例項的 arr 集合中。

    nextend sub

    sub yy()

    call xx '致電 xx

    msgbox '嘗試返回集合的第 3 個元素的內容,即工作表的 a3 單元格!

    end sub

    附件可用於測試:

  11. 匿名使用者2024-01-19

    建議大家先學習一下類模組的介紹。

  12. 匿名使用者2024-01-18

    dim,則將 A 宣告為整數變數。

    具體來說,你把 a 看作乙個陣列。

    dim,a 不指定型別。

相關回答
28個回答2024-06-21

1、就座後,姿勢應挺直,雙腳應放在座位下方,不可隨意伸直,肘部不宜靠在桌沿上,或雙手應放在相鄰座位的靠背上。 >>>More

5個回答2024-06-21

1.質量問題和現象。

鑽孔在鑽孔完成期間或之後坍塌。 >>>More

21個回答2024-06-21

絕對可以是乙個人,但是你不能按右鍵a只能按鍵盤a給乙個人,藍貓的好壞可以據此來判斷。 當藍貓飛走時,立即按A點,人不僅可以減速,而且可以傷害一次,這樣藍貓前期抓人的成功率就大大提高。 請注意,它是: >>>More

9個回答2024-06-21

在執行刑事處罰過程中,有(立功)的罪犯可以減刑。

16個回答2024-06-21

田徑說教你如何跑 100 公尺,邊跑邊跑。