Excel中的VB程式設計,總是下標越界

發布 科技 2024-05-01
4個回答
  1. 匿名使用者2024-02-08

    這很簡單,您不需要使用VBA,只需使用公式即可。 方法如下:

    答1: 399900

    A2 輸入: =substitute(substitute(A1+1,4,5),7,8).

    A3 複製 A2 並將其向下拖動。

  2. 匿名使用者2024-02-07

    為你改變它,試不試!

    sub autosr()

    dim str1 as string, str2 as string

    dim a1 as double, a2 as long, i as long

    str1 = "399900": a1 = 399900

    worksheets("sheet1").cells(2, 5).value = 399900

    for i = 3 to 210

    worksheets("sheet1").cells(i, 3).value = worksheets("sheet1").

    cells(i - 1, 3) +1 '生成下乙個 ** 的初始值。

    str1 = str(worksheets("sheet1").cells(i, 3).value) '將值轉換為字串。

    str2 = replace(str1, "4", "5", 1) '將字串中的 4 替換為 5。

    str2 = replace(str1, "7", "8", 1) '將字串中的 7 替換為 8。

    a2 = clng(str2)

    worksheets("sheet1").cells(i, 3).value = a2

    next i

    end sub

  3. 匿名使用者2024-02-06

    在Excel中,VBA指示下標越界,指示物件不存在或陣列元素不存在。

    舉個簡單的例子:工作表中沒有人"一月"但是,此工作表使用工作表("一月");陣列定義了 arr(1 到 10),但將使用 arr(11),並且下標將越界。

    簡單地說:越界下標是超出範圍的引號。

    1.當我們在Excel的VBA中輸入以下**並執行時,會出現“執行過程中錯誤9下標越界”的提示。 **下面:

    sub a()

    dim arr() as string

    arr(1) = 你好"

    end sub

    2.其實上面的“執行時錯誤9下標越界”是因為定義的動態陣列沒有確定維度和大小。 這個問題可以通過定義固定數量的維度和維度來解決,或者通過使用 redim 定義維度和維度來解決。

    更正後的**如下:

    sub a()

    dim arr() 定義了乙個動態陣列。

    dim i as integer

    redim arr(1 to 3) '定義乙個由 3 個元素組成的陣列並初始化該陣列。

    arr(1) =3

    arr(2) =4

    arr(3) =5'在下面的語句中,重新定義乙個包含 10 個元素的陣列,清除前面的元素,並重新分配新的儲存變數。

    redim arr(1 to 10)

    for i = 1 to 10

    arr(i) =i

    next i

    結束子,就是這樣。

  4. 匿名使用者2024-02-05

    如果你宣告了乙個陣列 arr(5),那麼只有 cryptofiber 有 arr(0) 到 arr(4) 並且 5 個元素可以正常訪問,如果你使用缺少的載體 arr(5) 來訪問第 6 個元素,你會得到乙個越界下標錯誤。

相關回答
2個回答2024-05-01

呵呵,太簡單了,方法也多。 下面是最簡單的示例: >>>More

12個回答2024-05-01

不確定它的作用是什麼?

具體要求是什麼。 >>>More

13個回答2024-05-01

Picturebox也很好用

通常,每個棋子的圖形都收集在乙個圖表中。 >>>More

3個回答2024-05-01

private sub timer1_timer()= "當前時間:" + cstr(time)if = cstr(time) thenmsgbox "倒計時結束" >>>More

10個回答2024-05-01

設定焦點。 例如,如果在程式中使文字框 text1 成為焦點,則可以在輸入內容之前直接在文字框中輸入文字,而無需用滑鼠單擊文字框使其聚焦。 >>>More