gpt4 book ai didi

excel - 将 Objectname 中的变量用于 WITH 语句

转载 作者:行者123 更新时间:2023-12-04 21:19:57 25 4
gpt4 key购买 nike

我有一个 excel 宏,它从另一张表的特定列中读取内容。我想在 WITH 语句中的工作表名称中使用一个变量,但在 For Each 行中不断收到错误消息“运行时出错,需要对象”

我已经搜索了如何在对象名称中使用变量并尝试过,但无济于事。

此代码有效

With Blad2
strData = Range(id & "1") & vbLf & vbLf
For Each c In .Range(id & "2:" & id & "10")
If c.Value <> "" Then
strData = strData & " - " & c.Value & vbLf
End If
Next c
End With

此代码失败。我确定变量 bld 有一个数值,用 MsgBox 测试过
With ("Blad" & bld)
strData = Range(id & "1") & vbLf & vbLf
For Each c In .Range(id & "2:" & id & "10")
If c.Value <> "" Then
strData = strData & " - " & c.Value & vbLf
End If
Next c
End With

有什么线索可以让这个工作吗?

最佳答案

可以通过 4 种方式引用工作表:

  • 及其索引;
  • 其名称在选项卡上;
  • 及其CodeName ,默认情况下与选项卡的名称相同,除非后者被更改;
  • 有一个变量;

  • 前段时间我在这里写了这个答案 - https://stackoverflow.com/a/52721327/5448626

    当你写 With Blad2 ,然后 Blad2是工作表的代号。例如,这里的那个:

    enter image description here

    因此,它已经是一个变量并且 Excel 可以识别它。另一方面, With ("Blad" & bld)是字符串而不是工作表变量。

    要使其工作,请使用 With Worksheets("Blad" & bld) ,使用工作表的工作表名称。

    关于excel - 将 Objectname 中的变量用于 WITH 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54513348/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com