Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ExceL VBA访问,将数据格式化为ExceL表格_Excel_Vba_Ms Access - Fatal编程技术网

使用ExceL VBA访问,将数据格式化为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

看这个。它显示了将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, , 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