我正在构建一个模块,将文本导入Excel工作簿。导入后,我想将数据格式化为表格。我遇到的问题是导入永远不会有相同的范围。
我正在使用以下代码,但它会抛出错误,运行时错误'424':需要对象。
docker push gcr.io/my_project/foo:v1
我已经做了很多搜索,但我一直无法找到答案或弄清楚我应该怎么做。
最终结果在代码中看起来像这样,范围的开头始终设置为$ A $ 1:
Sub ImportRange()
Dim ws As Worksheet
Dim lRow As Long
Dim lCol As Long
Dim rng As Range
Set ws = ThisWorkbook.Worksheets("Import")
lRow = ws.UsedRange.Row - 1 + ws.UsedRange.Rows.Count
lCol = ws.UsedRange.Column - 1 + ws.UsedRange.Columns.Count
Set rng = ws.Cells(lRow, lCol).Address(True, True)
'MsgBox Cells(lRow, lCol).Address(True, True)
End Sub
答案 0 :(得分:0)
如果您的目标是在工作表上将范围设置为已使用的范围,则可以更简单地完成:
Set rng = ws.UsedRange
显然,您需要确保该工作表上的usedrange正确表示您导入的数据。
将范围转换为表格:
Dim Import_Table As ListObject
Set Import_Table = ws.ListObjects.Add(SourceType:=xlSrcRange, Source:=rng, XlListObjectHasHeaders:=xlYes)
Import_Table.Name = "Import"
注意:代码适用于Excel 2010.对于更高版本,请使用HasHeaders替换XlListObjectHasHeaders