Excel VBA:如何改进该代码(某个范围的行中文本功能)

Excel VBA:如何改进该代码(某个范围的行中文本功能),excel,vba,Excel,Vba,我有一个问题,我现在正设法解决。 它涉及转换excel文件中的格式,这让我发疯 现在我找到了一种方法,我乐观地认为它可以解决问题。 要“修复”它,我使用“行中文本”->功能作为VBA记录为 Selection.TextToColumns Destination:=range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _

我有一个问题,我现在正设法解决。 它涉及转换excel文件中的格式,这让我发疯

现在我找到了一种方法,我乐观地认为它可以解决问题。 要“修复”它,我使用“行中文本”->功能作为VBA记录为

   Selection.TextToColumns Destination:=range("A1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
    Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
    :=Array(1, 1), TrailingMinusNumbers:=True
我了解到,可以使用此代码一次修复一行,但不能修复多行。 现在我想知道,如何改进这段代码,它可以立即修复一个范围(“A7”、“DR621”)

如果有人能帮助我,为我指明正确的方向,我会非常高兴

提前谢谢 亚瑟

编辑:排序错误为屏幕截图

转换的范围可能包含多行,但每次只能转换一列数据

可以像这样循环列(例如,同一图纸上的偏移量为5列):

选择.列中每个c的

c、 TextToColumns Destination:=单元格(c.Row,c.Column+5),数据类型:=xlDelimited_
TextQualifier:=xlDoubleQuote,continuedDelimiter:=False,Tab:=True_
分号:=False,逗号:=False,空格:=False,其他:=False,FieldInfo_
:=数组(1,1),TrailingMinusNumbers:=真
下一个

这里的问题是,当您将文本转换为列时,它将覆盖文本旁边列中的任何内容。如果您确信在导入的数据之后有足够的空白列,那么您可以循环上面的代码,将“A1”更改为需要文本到列转换的任何列。看看你以前的文章,你的输入数据可能是用*.xls扩展名以制表符分隔的-这就是为什么它会被wierdly导入的原因。@RowanC-谢谢!RE:制表符分隔-可能是。mysql导出是通过php脚本完成的。输出为excel(*.xlsx)。我尝试将原始数据导入一个包含一些简单宏的表格中,以便于未经经验的用户进行排序和导航。如果您能更具体地了解所需的“修复”,我们也可以提供更多帮助。Hello@LS_dev-对于“修复”问题,我的意思是将文本转换为值。我相信,这将解决我在排序时遇到的另一个问题。将新问题放在同一主题中已解决问题的基础上不是一个好主意。您可以打开新的线程/问题。感谢revoua的快速响应!是否有可能通过任何类型的循环实现自动化?