【问题标题】:Text To Columns VBA文本到列 VBA
【发布时间】:2022-01-26 21:35:46
【问题描述】:

我正在尝试将文本添加到列中,但似乎有错误。这是我的代码:

Set rg = Range("H3:H" & lr).CurrentRegion
rg.TextToColumns _
Destination:=Range("H3"), _
DataType:=xlDelimited, _
Tab:=False, _
Semicolon:=False, _
Comma:=False, _
Space:=False, _
Other:=True, _
OtherChar:="Chr(10)"

【问题讨论】:

  • 为什么"Chr(10)" 在引号中? Chr 是一个函数。 VBA 将其视为字符串,因为它在引号中。我不确定这是否能解决问题,但这绝对是个问题。
  • 您是否阅读了错误信息?似乎rg 包含不止一列,因为您使用了CurrentRegion
  • 如错误描述所述,此方法仅适用于一次一列。然后,请用文字解释您尝试完成的工作。该方法可用于不同的范围。您想按Chr(10) 拆分单元格内容吗?

标签: excel vba text-to-column


【解决方案1】:

请测试下一个方法。它将 H:H 列的单元格拆分为Chr(10):

dim rg as Range
set rg=Range("H1").Entirecolumn
rg.TextToColumns destination:=rg, DataType:=xlDelimited, Other:=True, OtherChar:=Chr(10)

或仅拆分列填充范围:

dim rg as Range
set rg=Range("H1:H" & Range("H" & rows.count).End(xlUp).Row)
rg.TextToColumns destination:=rg, DataType:=xlDelimited, Other:=True, OtherChar:=Chr(10)

我可以向您展示如何(理论上)为CurrentRegion 的所有列运行代码,但这种方法至少会很奇怪。我的意思是,拆分第一个范围列,范围的所有其余部分都将被拆分过程覆盖,一切都将被破坏,没有任何要拆分的东西...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多