如何从每个Excel单元格中删除前导空格?
假设下面的Excel表格:
| A --+----- 1 |foo bar 2 | bar baz 3 | baz 4 | bam
我需要一种方法来自动删除所有前导空格:
| A --+----- 1 |foo bar 2 |bar baz 3 |baz 4 |bam
我无法find一个Excelfunction来做到这一点。 谁能帮我吗?
如果您希望单元格保存转换后的值以及单词之间的空格的[return]
,请使用以下代码:
'DECLARE VARIABLES Dim myRng As Range, c As Range 'INITIALIZE VARIABLES Set myRng = Range("A1:A4") 'LOOP THRU RANGE For Each c In myRng.Cells 'TRIM LEADING AND TRAILING SPACES c.Value = LTrim(c.Value) c.Value = RTrim(c.Value) Next c 'ADD RETURN SPACE myRng.Replace What:=" ", Replacement:=Chr(10), LookAt:=xlPart
使用=Trim(A1)
从string的任何一边删除白色。
要用换行符replace剩余的空白字符,可以使用=SUBSTITUTE(A1," ",[X])
,其中[X]
是下列之一:
-
Char(10)
{换行} -
Char(13)
{回车} - [type]
Alt+Enter
手动将换行符插入到Excel单元格中
帮助参考
TRIM(text)
从文本中删除除单词之间的单个空格之外的所有空格。
SUBSTITUTE(text, old_text, new_text, [instance_num])
用文本stringreplacenew_text
的old_text
。
您可以使用下面的数组方法快速完成此操作,从而避免了循环
虽然有效的代码可以运行在一个单一的长线,我已经打破了清晰。
这将更新单元格到原始范围的右侧。
Sub UpDateIt() Dim rng1 As Range Dim strText As String strText = "," Set rng1 = Range([a1], Cells(Rows.Count, "A").End(xlUp)) With Application x = Replace(Replace(.Trim(Join(.Transpose(rng1), strText)), ", ", ","), Chr(32), Chr(10)) rng1.Offset(0, 1) = .Transpose(Split(x, strText)) End With End Sub