2017-10-04 177 views
0

我必须用空白替换任何一行的最后一列中的逗号。我在Excel中有下面的内容。用vba中的空白替换逗号

1  _1 "", 
2  _2 "", 
3  _3 "", 
4  _4 "", 
5  _5 "", 

我的代码。但它不起作用。

Private Sub CommandButton1_Click() 
    Dim lRow As Long 
    Dim length As Long 

    'Find the last non-blank cell in column A(1) 
    lRow = Cells(Rows.Count, 1).End(xlUp).Row 
    length = Len(Range("C" & lRow)) - 1 
    Range("C" & lRow).Value = Replace(Range("C" & lRow), ",", "", length) 
    Range("B2:B" & lRow).ClearContents 
End Sub 
+0

您是指给定单元格中的最后一行(如代码所示) - 而不是任何行中的最后一列。对? – JensS

回答

0

这应该做的伎俩:如果它是一个逗号它会删除最后一行中的最后一个字符(这里假设你想在C列替换为您的代码表示):

Private Sub CommandButton1_Click() 
    Dim lRow As Long 

    lRow = ActiveSheet.UsedRange.Rows.Count 
    If Right(Range("C" & lRow).Value, 1) = "," Then 
    Range("C" & lRow).Value = Left(Range("C" & lRow), Len(Range("C" & lRow)) - 1) 
    End If 

    Range("B2:B" & lRow).ClearContents 
End Sub 

你也可以使用替换,但它更棘手。