将图表和工作表循环为工作表失败。究竟是什么导致了这些错误?

2023-12-01

我尝试将图表和工作表作为变体进行循环。

Sub ShowSheets(vSheets() As Variant)

    Dim i As Long
    For i = LBound(vSheets, 1) To UBound(vSheets, 1)
        Dim wks As Variant
        Set wks = ThisWorkbook.Sheets(vSheets(i, 1))
        wks.Visible = xlSheetVisible
    Next i

End Sub

vSheets()包含以下表格和图表的名称:

SheetName1
SheetName2
ChartName1
SheetName3
SheetName4

子程序不成功。我在行上遇到错误wks.Visible = xlSheetVisible when wks工作表的名称是SheetName3.

错误是:

Run-time error '-2147417848 (80010108)':

Method 'Visible' of object '_Worksheet' failed

为什么我在该特定行上收到错误?

以下子例程也不成功:

Sub ShowSheets(vSheets() As Variant)

    Dim i As Long
    For i = LBound(vSheets, 1) To UBound(vSheets, 1)
        ThisWorkbook.Sheets(vSheets(i, 1)).Visible = xlSheetVisible
    Next i

End Sub

我在同样的情况下遇到了错误。在行上ThisWorkbook.Sheets(vSheets(i, 1)).Visible = xlSheetVisible, when ThisWorkbook.Sheets(vSheets(i, 1)).Name was SheetName3。我不明白为什么上面的子程序不起作用。

我认为当 wks 是图表时我应该得到一个错误。我会理解的。我不明白为什么当 wks 是图表后的第一个工作表时出现错误。

以下子例程有效,但我仍然无法弄清楚为什么在上面的子例程中出现错误:

是什么导致前两个子程序出现错误?为什么我在工作表时出现错误SheetName3?

Sub ShowSheets(vSheets() As Variant)

    Dim i As Long

    For i = LBound(vSheets, 1) To UBound(vSheets, 1)
        If TypeName(ThisWorkbook.Sheets(vSheets(i, 1))) = "Worksheet" Then
            ThisWorkbook.WorkSheets(vSheets(i, 1)).Visible = xlSheetVisible
        End If
    Next i

    For i = LBound(vSheets, 1) To UBound(vSheets, 1)
        Debug.Print (TypeName(ThisWorkbook.Sheets(vSheets(i, 1))))
        If TypeName(ThisWorkbook.Sheets(vSheets(i, 1))) = "Chart" Then
            ThisWorkbook.Charts(vSheets(i, 1)).Visible = xlSheetVisible
        End If
    Next i

End Sub

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将图表和工作表循环为工作表失败。究竟是什么导致了这些错误? 的相关文章

  • 有一个更好的方法吗? VBA脚本

    我这里有一份供料泵的跟踪清单 我们必须考虑库存水平 所以我做了这个 当您将泵输入表中时 什么也没有发生 当您将患者姓名放在上面时 该行会变成粉红色 表明该泵已离开我们的库存 我试图将一个脚本 宏放在一起 可以计算我们仍然拥有的泵 即白色行
  • VBA cDate 无法在 Mac excel 2011(14.7.1) 上运行

    我正在尝试使用 VBA 脚本将日期转换为长日期 下面是代码片段 Sub test Dim str as string Dim d as variant str 1 1 2016 d cdate str end sub 上面的代码片段在 Wi
  • 为什么 CSV 文件中的多行单元格在 Excel 中每行末尾都显示有问号?

    我目前正在开发一个项目 我们希望允许用户将数据导出到 CSV 我们提供的一些数据在单个单元格中具有多个值 因此我们使用标准 CSV 方法将每个值放在自己的行上 Column A Column B Column C Value A Value
  • 在php中将excel转换为xml

    我想读取 Excel 文件并根据该数据创建 XML 文件 在php中可以吗 Thanks 快速谷歌搜索发现this PHP https github com PHPOffice PHPExcelCodePlex 上的项目 您可能想看一下 它
  • COM 错误?打开工作簿两次会导致引用损坏

    归功于fuglede https stackoverflow com users 5085211 fuglede为了引起我的注意 这是 COM 错误吗 我打开 Excel 工作簿 A 然后打开工作簿 B 这两个工作簿在单元格 A1 中都有一
  • 如何同时在多个 Wksheet 中搜索某个字符串?

    我有大约 30 张工作表 我希望这些代码同时运行 我想找到 ABC 并删除所有工作表中它旁边的单元格的值 我的错误来自 Set rSearch range A1 range A rows count end x1up 当我在 With 语句
  • 如何在 Excel VBA 中仅迭代自动筛选工作表中的行?

    需要仅迭代自动筛选范围中的行 目的是获取行索引 我尝试过这个块 For Each ele In rng RowInd ele Rows Address RowNum Split RowInd 2 Next ele 这会在 rng 中的所有
  • Excel 单元格对齐:例如数值xlLeft、xlRight 还是 xlCenter?

    我一直在尝试对齐 Excel 单元格文本值 我尝试过更常见的xlLeft xlRight但这似乎不起作用 错误是xlLeft没有宣布 我正在使用 Visual Studios 并使用 VB 创建一个 aspx 页面 这是我的代码示例 Dim
  • 我怎样才能优化这个vba循环代码?

    嗨 我写了这段代码 但这段代码非常慢 我该如何优化这段代码 Private Sub printItem r lastCol objStream FirstCol 1 Dim strFirst As String strFirst CStr
  • 如何使用 VBA 在 Excel 中搜索单词然后删除整行? [复制]

    这个问题在这里已经有答案了 请有人帮忙 我正在尝试编写一个 VBA 代码 在 Excel 工作表 D 列中搜索特定单词 DR 然后删除整行 工作表中特定单词多次出现 我想做的就是搜索这些出现的情况 然后删除包含这些单词的整行 我的问题是我不
  • 替换VBA中的变量字符串

    我需要替换字符串中的某些内容 但替换的内容可能会有所不同 有可能 XY test XXxY test XXyyXx TEST yXyy Test 以及几乎任何其他空格和上述情况的组合 我需要替换 test 部分并保留 XXX 所以 当使用简
  • 创建具有子级别的类属性

    我一直在读这个topic https excelmacromastery com vba class modules A Quick Guide to the VBA Class Module关于如何使用类模块 我的目标是提高代码性能和可读
  • 点击后如何等待页面加载

    下面是简单的 IE 自动化代码 只需输入订单号 例如1413105088和邮政编码始终是78759并单击 提交 按钮 然后从结果页面中获取跟踪号码 例如017136295201034并将它们放入 C 列 它按预期工作 但由于 IE 不太可靠
  • MS Access:将组合框中选定的条目插入表中

    这是我使用 MS Access 所做的一个示例 我有一个包含人名的表格和两个用于添加电话号码的文本字段 我创建了一个包含名称的列表框 我设法将列表框中选定的姓名和文本字段 Tel1 和 Tel2 中的电话号码插入表 ContactTable
  • 在 VBA 中声明字典

    我收到错误Run time error 424 Object required当我尝试在 VBA 中创建字典时 我的代码如下所示 Private Sub data Dim dicti As Object Set dicti CreateOb
  • VBA半正矢公式

    我正在尝试将半正矢公式应用到Excel函数中 它看起来像这样 Public Function Haversine Lat1 As Variant Lon1 As Variant Lat2 As Variant Lon2 As Variant
  • 自动创建 Outlook 约会

    我有一个跟踪到期日期的电子表格 excel 2003 我想知道是否有办法让这些到期日期在 Outlook 中创建约会 提醒 到期日期位于电子表格的一个字段中 实体名称位于另一列中 理想情况下 我希望 Outlook 2003 能够获取日期
  • 使用 python 只读取 Excel 中的可见行

    我想只读取 python 中 Excel 工作表中的可见行 输入 Excel表 所以当我过滤时 作为 python 中的输出 在本例中我将仅获得可见数据 1 行 这是我的代码 from openpyxl import load workbo
  • 修剪工作簿中的所有单元格(VBA)

    我尝试向一直在开发的 Excel 加载项添加功能 该功能会修剪已用单元格末尾的前导空格 甚至可能解析文本 我需要这样做的原因只是为了将其变成超链接我已经在工作了 但是那部分很好 这是我到目前为止所尝试的 我已经修剪了active works
  • 父子进程隔离和子进程列表

    请阅读以下模板 PID Status LPID 10 Closed 25 11 Open 25 31 Open 31 25 Closed 25 54 Open 31 17 Open 17 20 Closed 31 88 closed 77

随机推荐