我正在寻找一种方法来阻止Excel删除固定宽度分隔的分隔单元格末尾的空格。
我有一个字符串:AB 123.00 CD
我有代码:
Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, Textqualifier:=xlTextQualifierNone, _
FieldInfo:=Array(Array(0, 2), Array(5, 2), Array(13, 2)) _
, TrailingMinusNumbers:=True
我希望结果为三列(*表示空格以便于阅读):
1. AB***
2. 123.00**
3. CD
我目前遇到的结果:
1. AB
2. 123.00
3. CD
我不知道如何阻止这种行为。
答案 0 :(得分:0)
我不太确定是否有办法实现所需的目标,但是一种解决方法是遍历单元格并相应地格式化数据,如下所示,它将遍历A和B列并添加所需的各个空格数:
Sub foo()
Dim LastRow As Long
Dim ws As Worksheet: Set ws = Sheets("Sheet1")
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
For i = 1 To LastRow
OldVal = ws.Cells(i, 1).Value
NewVal = Left(OldVal & " ", 5)
ws.Cells(i, 1).Value = NewVal
OldVal2 = ws.Cells(i, 2).Value
NewVal2 = Left(OldVal2 & " ", 8)
ws.Cells(i, 2).Value = NewVal2
Next i
End Sub