我有一个Powershell脚本,它将生成CSV文件,其中包含18台以上服务器的所有可用存储空间。我现在正在尝试自动设置CSV文件的格式,因此看起来要好得多。我的问题是我的代码成功运行了一次,但是第二次运行又抛出了1004错误。
在进入StackOverflow之前,我的代码看起来更加混乱不清。我现在已经删除了其他一些错误,例如不必要地使用Activesheet,使用.Select等,但现在仍然找不到问题。
请在下面查看我的代码(请注意,我已注释掉的AutoFit部分是我尚未开始使用的部分)。
Sub A_AllToTable()
Dim tbl As ListObject
With Sheets(1)
Set tbl = .ListObjects.Add(xlSrcRange, .UsedRange, , xlYes)
tbl.TableStyle = "TableStyleDark11"
' tbl.Columns.AutoFit
End With
End Sub
当我从头打开工作簿并运行代码时,它会按预期运行。它将格式化表格。我希望将其设置为AutoFit并自动按大小排序,但是现在我只希望代码能够多次运行
有人可以提供一些无法解决问题的见解,以便将来避免再次犯同样的错误吗?
答案 0 :(得分:1)
尤里卡!事实证明它没有运行,因为它试图在已存在的表之上创建另一个表。我添加了一些代码来首先确保工作簿没有格式和表格,现在没有错误发生!
感谢所有一直在寻求有关此问题的更多信息的人。你们都帮了大忙!
最终密码:
Sub A_AllToTable()
Sheet1.ListObjects(1).Unlist
Sheet1.UsedRange.ClearFormats
Dim tbl As ListObject
Set wks = ThisWorkbook.Worksheets(1)
With wks
Set tbl = wks.ListObjects.Add(xlSrcRange, wks.UsedRange, , xlYes)
tbl.TableStyle = "TableStyleDark11"
' tbl.Columns.AutoFit
End With
End Sub