excel - Excel VBA循环遍历范围并删除空格和空格之前的文本
问题描述
我正在尝试创建一个宏来删除空格之前的单元格中的文本以及空格本身。
我原以为这会起作用,但它会删除每个单元格的全部内容。
任何人都可以看到这个问题吗?
Sub Trim()
Dim r As Range
For Each r In Range("A2:A" & Cells(Rows.Count, "A").End(xlUp).Row).Cells.SpecialCells(xlCellTypeConstants)
r.Value = Split(" ", r.Value)(0)
Next r
End Sub
解决方案
您需要在发布之前检查语法,因为您使用 Split 的参数错误。如果您将光标放在关键字“Split”上并按 F1,这将打开有关 Split for VBA 的 MS 帮助页面。当您阅读本帮助时,您会发现拆分可以限制为它执行的拆分次数。如果您的文本包含多个空格,这很有用。
Sub Trim()
Dim r As Range
For Each r In Range("A2:A" & Cells(Rows.Count, "A").End(xlUp).Row).Cells.SpecialCells(xlCellTypeConstants)
' Split will work without the " " as this is the default separator,
' but its good practise to specify it
r.Value = Split( r.Value," ", Limit:=2)(1)
Next r
End Sub
推荐阅读
- c# - LINQ比较两个列表,每个列表都在一个对象内部,至少一个相等
- active-directory - 如何使用 dsquery 列出通讯组列表的成员?
- python - 列对齐弯曲
- python - 长度不匹配:预期轴有 5 个元素,新值有 8 个元素
- django - 我的表格一直说“这个(图像)字段是必需的!” 姜戈 3.0
- c# - c# FileStream.Lock 会发生什么?
- sql - 在 nvarchar 中按数字排序
- bash - 如何使用 bash 脚本管理 hdfs 中的目录?
- android - 如何在 Android MapBox SDK 中实时显示用户的移动
- javascript - 使用 Javascript 对 API JSON 响应进行排序