excel - 如何仅使用空格而不使用句点作为分隔符来拆分单元格

标签 excel vba split delimiter

我在一个单元格中有一个包含多个 IP 地址的数据列表。
我使用逗号分隔符将 IP 拆分为单独的单元格。
例如,


一个


10.10.33.187 10.10.48.6 10.10.33.188

10.56.100.77 172.22.210.253

172.22.210.3 172.22.210.6 172.22.210.7 172.22.210.8


被转换成,


一个

C
D


10.10.33.187
10.10.48.6
10.10.33.188

10.56.100.77
172.22.210.253


172.22.210.3
172.22.210.6
172.22.210.7
172.22.210.8


但是,当我再次运行代码时,它还将每个 IP 拆分为单独的数字。
虽然代码不使用句点分隔符,但为什么 IP 地址会沿着句点拆分?

例如,


一个


10.10.33.187


被转换成,


一个

C
D


10
10
3
187


我知道这可以使用简单的excel函数来完成。
但是,我需要 VBA 代码来完成一项更大的任务,这只是其中的一个步骤。
那么有人可以帮助我防止期间 split (句号)吗?
没有句点分隔符,为什么要在句点处拆分它?

Sheets("Hosts").Activate
    Columns("A:A").Select
    Application.CutCopyMode = False
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=True

最佳答案

Range.TextToColumns method有一个问题,它喜欢记住最后使用的是什么,进行拆分。所以如果你包含一个点.在您之前的 TextToColumns 中拆分即使它仅在用户界面中,也可以执行操作。 Excel 倾向于记住并使用它。
为避免这种情况,我建议指定该方法的所有参数。这里缺少的是Other:=False以确保没有其他字符用于拆分。

Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
    Semicolon:=False, Comma:=False, Space:=True, Other:=False

关于excel - 如何仅使用空格而不使用句点作为分隔符来拆分单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67160208/

相关文章:

vba - 区分 MS Excel 中的数字和日期

java - Docx4j : SpreadsheetMLPackage - java. lang.ExceptionInInitializerError

vba - If 语句 VBA Excel 2010

r - 按句子拆分文本,但不按特殊模式拆分

c# - 如何使用 C# 清除 VSTO excel 中特定范围的单元格

vba - 我想删除最后一个单词中的粗体/斜体/下划线格式以继续正常书写

excel - 有没有办法在不知道 VBA Excel 中哪个工作表的情况下访问命名范围?

Python 分割字符串忽略\"

javascript - 为什么 NodeJS 中 String 的 split 方法是同步执行的?

vba - Application.ScreenUpdating = False 会使用大量 .Select 语句加速 Excel 宏吗?