gpt4 book ai didi

excel - VBA 运行时错误 -2147319767 (80028029)

转载 作者:行者123 更新时间:2023-12-04 22:28:17 25 4
gpt4 key购买 nike

我的 Excel 文件/VBA 代码有问题。我正在更新很多 Excel 文件(复制/粘贴到表格中)并更新这些文件中的数据透视表。我多年来一直在使用此代码/方法,并且运行良好。

但是最近我的文件在运行 VBA 后表现得很奇怪。更新 35 个 excel 文件时,其中大约 15 个在更新后“损坏”。我可以打开它们,但我不能存储。然后文件就关闭了。

因此,我将“Application.DisplayAlerts = False”行更改为“True”,然后再次运行。而这一次 VBA 停止显示:
运行时错误'-2147319767 (80028029):自动化错误。
它指向这一行:

For Each pt In sh_ske_beløp.PivotTables

这只是我以完全相同的方式更新的 12 张表中的一张(整个代码是这样的):
For Each pt In sh_ske_beløp.PivotTables
pt.RefreshTable
Next pt

我完全迷路了!这段代码应该是显而易见的!我就是不知道出了什么问题。我在顶部做“选项显式”位,没有任何错误。我没有做任何高级操作,只是打开文件并在工作簿/工作表之间复制/粘贴数据并更新数据透视表。这里没有“用户表单”。 “工具/引用”菜单中没有任何“遗漏”。
该代码使用 Excel 365 64 位在 Windows 10 64 位上运行。每个可用的更新都已安装。

最佳答案

ThisWorkbook.Worksheets("sh_ske_beløp").PivotTables



尝试运行此代码
Sub test()
Dim sht As Worksheet
Dim wb As Workbook
Dim shtName As String
Dim pt As PivotTable
Set wb = ThisWorkbook
shtName = "sh_ske_beløp"
For Each sht In wb.Worksheets
If sht.Name = shtName Then
For Each pt In sht.PivotTables
pt.RefreshTable
Next pt
End If
Next sht
If Not wsExists(shtName, wb) Then MsgBox shtName & " NotExist!!!"
End Sub

Function wsExists(wsName As String, wb As Workbook) As Boolean
Dim ws
For Each ws In wb.Sheets
wsExists = (wsName = ws.Name): If wsExists Then Exit Function
Next ws
End Function

VBA 变量

变量是存储在计算机内存或存储系统中的特定值。稍后,您可以在代码中使用该值并执行。计算机将从系统中获取该值并显示在输出中。每个变量都必须有一个名称。

要在 VBA 中命名变量,您需要遵循以下规则。
  • 必须少于 255 个字符
  • 不允许有空格
  • 它不能以数字
  • 开头
  • 期间不允许
  • 不允许 DOT
  • 不允许使用 Unicode
  • 关于excel - VBA 运行时错误 -2147319767 (80028029),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55625444/

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