如何使用VBA循环Excel中的一列直到一个空单元格并替换该单元格的一部分?

时间:2017-06-29 14:00:51

标签: excel vba excel-vba excel-2013

我在excel中有一个从程序导入的列,如果这些条表示单元格,它总是以这种格式导入它。 |使用尾随空格和<>代表负数。正数就像这样,| $ 758.92 |也有尾随空格。数字格式是货币,我希望能够对这些数字求和,而不必在100或200个单元格的列中进行更改并更改所有数字。
 我启动了一个宏,我想迭代每个单元格并删除尾随空格并替换<>用()表示负数,只删除正数的尾随空格。

Sub Macro1()
        Dim i As Integer, d As Integer
        i = 13
        Do Until .Cells(4, i).Value = ""
            For d = 4 To 100  *I want the loop to stop at the first empty cell.*
                Cells(d, i) = Trim(Cells(d, i))
                Cells(d, i) *Replace the < at the beginning and end with ()*
            Next d
            i = i + 1
        Loop
    End Sub

1 个答案:

答案 0 :(得分:0)

在开始第一次循环之前,如果每次都是相同的话,你可以找到列的最后一个单元格:

lRow= Range("A" & Rows.Count).End(xlUp).Row 'Replace A with column you want

这将存储最后一行,您可以用:

替换d = 4到100
for d = 4 to lRow