Excel 使用从文本文件导入的范围创建表

Excel 使用从文本文件导入的范围创建表,excel,vba,Excel,Vba,我正在将一个文本文件导入Excel,然后尝试将该范围转换为一个表 尝试手动创建表时,会出现以下提示: 您的选择与一个或多个外部数据范围重叠。是否要将所选内容转换为表格并删除所有外部连接 如果选择“是”,它将工作 如果尝试从名称管理器中删除命名范围,则当您获取范围选择框并单击“确定”时,不会发生任何错误,该框不会消失,不会发生任何情况。删除连接也不能解决这一问题,但命名范围似乎是导致它的真正原因 当您尝试通过代码创建表时,您将获得: 错误1004:表不能与包含数据透视表、查询结果、受保护单元格或其

我正在将一个文本文件导入Excel,然后尝试将该范围转换为一个表

尝试手动创建表时,会出现以下提示:

您的选择与一个或多个外部数据范围重叠。是否要将所选内容转换为表格并删除所有外部连接

如果选择“是”,它将工作

如果尝试从名称管理器中删除命名范围,则当您获取范围选择框并单击“确定”时,不会发生任何错误,该框不会消失,不会发生任何情况。删除连接也不能解决这一问题,但命名范围似乎是导致它的真正原因

当您尝试通过代码创建表时,您将获得:

错误1004:表不能与包含数据透视表、查询结果、受保护单元格或其他表的区域重叠


我找到的唯一解决方案是将整个内容作为值复制到另一张表中,并在那里制作表格。我尝试了多个文本文件,它们都会导致问题。

看起来您需要使用一个,类似于

ActiveSheet.QueryTables(1).Delete
也许是文档中的一个有用的片段:

如果使用用户界面导入数据,则来自web查询或文本查询的数据将作为
查询表
对象导入,而所有其他外部数据将作为
列表对象
对象导入

如果使用对象模型导入数据,则来自web查询或文本查询的数据必须作为
查询表
导入,而所有其他外部数据都可以作为
列表对象
查询表
导入

因此,对于文本查询,您似乎一直在删除
QueryTable
,然后像当前一样创建
ListObject

ActiveSheet.QueryTables(1).Delete