使用vba修剪并将文本转换为通用格式

时间:2015-03-13 07:05:41

标签: excel vba excel-vba

我坚持使用下面的宏,我需要修剪并转换文本格式的相邻列数据,我需要它的一般格式。

我的数据是J列我在K列复制上将其修剪为粘贴在列J上的特殊值。还假设数据在5000行内。如果有人可以帮助我修剪它并将其粘贴到J中直到数据的最后一行,那将会很棒。下面是我正在使用的代码。感谢。

Sub TrimPS()
Range("K2").Activate
ActiveCell.FormulaR1C1 = "=TRIM(SUBSTITUTE(RC[-1],CHAR(160),CHAR(32)))"
ActiveWindow.LargeScroll Down:=1
Range("K5000").Select
Range(Selection, Selection.End(xlUp)).Select
Selection.FillDown
Selection.Copy
Range("J2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,  SkipBlanks _
    :=False, Transpose:=False
Range("K2").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.ClearContents
Range("K2").Select
End Sub

1 个答案:

答案 0 :(得分:1)

Sub TrimPS()
    Dim rngLast As Range

    Set rngLast = Range("J1").Offset(Rows.Count - 1).End(xlUp)

    With Range("J2", rngLast)
        .Offset(0, 1).FormulaR1C1 = "=TRIM(SUBSTITUTE(RC[-1],CHAR(160),CHAR(32)))"
        .Value = .Offset(0, 1).Value
        .Offset(0, 1).ClearContents
    End With

    Set rngLast = Nothing
End Sub