在阵列中运行过程

问题描述

我有一个基于可用数据创建新工作表的过程。基本上,它基于数据名称创建工作表。该代码编写如下。如果我一个接一个地分配过程,它确实可以工作。

Sub new_profile(tankname)
    Sheets.Add After:=ActiveSheet
    Range("B4").Select
    ActiveCell.FormulaR1C1 = tankname
    ActiveSheet.Name = Range("b4").Value

end sub

由于我将这段代码用于另一个工作簿(这意味着没有确切的数据量),因此,我尝试分配一个数组以自动运行所有过程,而不用一一调用。代码如下:

Sub calculate_all()

Dim cel As Range
Dim tank_name() As String
Dim i As Integer,j As Integer
Dim n As Integer

i = 11
n = Range("B6").Value

ReDim tank_name(i)

For Each cel In ActiveSheet.Range(Cells(11,2),Cells(11 + n,2))
    tank_name(i) = cel.Value
    i = i + 1
    
    new_profile tank_name(i)
    ReDim Preserve tank_name(i)
    
Next cel

    

结束子

不幸的是,它变为错误并显示消息“下标超出范围”。我该如何解决这个问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)