在子过程中调用动态数组的 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 米,边跑边跑。