使用ExceL VBA访问,将数据格式化为ExceL表格
看这个。它显示了将excel数据格式化为excel中表格的解决方案 代码是使用ExceL VBA访问,将数据格式化为ExceL表格,excel,vba,ms-access,Excel,Vba,Ms Access,看这个。它显示了将excel数据格式化为excel中表格的解决方案 代码是 Sub A_SelectAllMakeTable() Dim tbl As ListObject Dim rng As Range Set rng = Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)) Set tbl = ActiveSheet.ListObjects.Add(xlSrcRange, rng, , xlY
Sub A_SelectAllMakeTable()
Dim tbl As ListObject
Dim rng As Range
Set rng = Range(Range("A1"), Range("A1").SpecialCells(xlLastCell))
Set tbl = ActiveSheet.ListObjects.Add(xlSrcRange, rng, , xlYes)
tbl.TableStyle = "TableStyleMedium15"
End Sub
我试图在Access VBA中使用这段代码,在这里我创建了一个带有Access数据的Excel输出文件,然后我想对其进行类似的格式化。这是我的密码
Dim objXL As Object
Dim objWorkbook As Object
Dim objWorkSheet As Object
Dim sourcefilepath As String
Dim tbl As ListObject
Dim rng As Range
Set objXL = New Excel.Application
objXL.Application.Visible = False
sourcefilepath = Application.CurrentProject.Path & "\CF Break Report " & Format(Date, "mm-dd-yy") & ".xls"
Set objWorkbook = objXL.Application.Workbooks.Open(FileName:=sourcefilepath)
Set objWorkSheet = objWorkbook.Worksheets("_400_CF_BREAK_LOG")
Set rng = objWorkSheet.Range(Range("A1"), ActiveCell.SpecialCells(xlLastCell))
Set tbl = objWorkSheet.ListObjects.Add(xlSrcRange, rng, , xlYes)
tbl.TableStyle = "TableStyleMedium2"
更新:失败的行是
Set rng = objWorkSheet.Range(Range("A1"), ActiveCell.SpecialCells(xlLastCell))
如果出现“应用程序定义错误或对象定义错误”,请尝试:
Set rng=objWorkSheet.Range(objWorkSheet.Range(“A1”)、ActiveCell.SpecialCells(xlLastCell))
为我工作。找到了隐藏的答案
关闭“尝试关闭它。复制到此网站无效。很抱歉,将更新在行前插入一个断点,然后查看表样式是什么。如果它不存在,就不会被跳过,所以它可能会出错,但您可能会在捕获时出错,跳过它我已经解决了。这很可能是因为我使用的是.xls格式而不是.xlsm格式nvm,请忽略前面的注释。
With xlWB.Sheets("Summary")
Set rng = .Cells(1, 1).CurrentRegion
End With
Set tbl = xlWS.ListObjects.Add(xlSrcRange, rng, , xlYes)
tbl.TableStyle = "TableStyleMedium2"
tbl.ShowTotals = True