VBA调用TextToColumns拆分单元格报1004运行时错误如何解决?
报错原因分析
运行时错误'1004'由以下几个问题导致,最核心的是单元格地址语法错误:
- 首先是Destination参数的Range地址书写错误:代码里写的
Range("AE16:AF:16")存在多余冒号,AF和16之间多打了一个:,Excel无法识别非法的单元格地址,直接抛出对象定义错误,正确的地址写法为Range("AE16:AF16")。 - 第二个可能原因:你定义的名称
Text_to_Columns不存在,或者所属工作表不是Look Up Tables表,导致代码无法读取到要拆分的目标区域。 - 第三个可能原因:
Look Up Tables工作表不存在、被隐藏或者处于保护状态,无法对AE、AF列执行写入操作。
修正后可用代码
Sub Test() 'Pause "Cell Contains a Value" Message Error Application.DisplayAlerts = False 'Perform text to columnn function Sheets("Look Up Tables").Range("Text_to_Columns").TextToColumns _ Destination:=Sheets("Look Up Tables").Range("AE16:AF16"), _ DataType:=xlDelimited, _ Other:=True, _ OtherChar:="/" 'Resume "Cell Contains a Value" Error Message Application.DisplayAlerts = True End Sub
执行前排查确认项
- 确认名称
Text_to_Columns的作用域为工作簿全局或者Look Up Tables表,指向的区域确实是你要拆分的包含3/4格式内容的单元格。 - 确认
Look Up Tables表没有开启工作表保护,AE、AF列的对应区域允许编辑。
内容的提问来源于stack exchange,提问作者ANDJO
相关产品推荐
相关产品推荐

