小编ale*_*ef2的帖子

在 VBA 中创建 1:N 数组

这是一个超级简单的问题,我还无法从以前的答案中拼凑出我想要的解决方案。

我在一张纸上有 N 张图像,只想将它们分组。通常我会使用:

Sheets("Mail").Shapes.Range(Array(1,2,3,4,5)).Group

但显然如果我想从 1 到 N ,这不起作用。我目前正在尝试:

For i = 0 To Y / 33
  ReDim Preserve test(i)
  test(i) = i
Next i

Sheets("Mail").Shapes.Range(Array(test())).Group
Run Code Online (Sandbox Code Playgroud)

但我不确定如何使用我的测试对象来复制我在非一般情况下使用的格式。任何帮助表示赞赏!

excel vba

3
推荐指数
1
解决办法
9758
查看次数

循环VBA后忘记变量值

我目前正在尝试建立一个Do While循环,其中循环的一部分只执行一次.我正在有效地尝试为一个工作表定义单元格范围,然后让我的循环将相同的单元格范围应用于所有工作表/工作簿,而无需重新指定范围.

这是我到目前为止:

isExecuted = False
Do While FileName <> ""
    ' Open a workbook in the folder
    Set WorkBk = Workbooks.Open(Folder & "\" & FileName)

        ' Conditional to select range only once
        If Not isExecuted Then

            Dim rng As Range
            Set rng = Application.InputBox("Select a Range", "Obtain Range Object", Type:=8)
            Debug.Print (rng.Address)
            MsgBox "The cells selected were " & rng.Address
            isExecuted = True

        End If


    Set SourceRange = WorkBk.Worksheets(1).Range(rng.Address)

' more stuff goes here
Run Code Online (Sandbox Code Playgroud)

在调试模式下.第一次执行此循环时,一切都按预期工作,我可以看到我的rng.Address是指定的单元格范围.但是,在第二个循环中,rng.Address成为<ObjectRequired>,因此脚本的其余部分失败.有关如何将rng.Address永久设置为指定单元格范围的任何想法?

excel vba excel-vba

2
推荐指数
1
解决办法
610
查看次数

标签 统计

excel ×2

vba ×2

excel-vba ×1