Excel 删除逗号、空格和;空";从列将字符串设置为0(零)

Excel 删除逗号、空格和;空";从列将字符串设置为0(零),excel,vba,Excel,Vba,我是擅长VBA的新手 需要帮助从名为StringName的ColumnName中将逗号、空格和空字符串删除为“0” Sub ReplaceCharacters() Application.ScreenUpdating = False Dim lrow As Long lrow = Cells(Cells.Rows.Count, "A").End(xlUp).Row With ActiveSheet.Range("A2:A" & lrow).SpecialCell

我是擅长VBA的新手

需要帮助从名为StringName的ColumnName中将逗号、空格和空字符串删除为“0”

Sub ReplaceCharacters()

  Application.ScreenUpdating = False
    Dim lrow As Long
    lrow = Cells(Cells.Rows.Count, "A").End(xlUp).Row
  With ActiveSheet.Range("A2:A" & lrow).SpecialCells(xlCellTypeConstants, xlTextValues).Cells
      .Replace What:=",", Replacement:="", LookAt:=xlPart
      .Replace What:=" ", Replacement:="", LookAt:=xlPart
  End With

  Application.ScreenUpdating = True

End Sub
首先,我尝试从名为StringName的ColumnName中删除逗号、空格,最后查找并将“NULL”字符串替换为0(零)

下面是要替换逗号的代码,即名为StringName的ColumnName中的空格

Sub ReplaceCharacters()

  Application.ScreenUpdating = False
    Dim lrow As Long
    lrow = Cells(Cells.Rows.Count, "A").End(xlUp).Row
  With ActiveSheet.Range("A2:A" & lrow).SpecialCells(xlCellTypeConstants, xlTextValues).Cells
      .Replace What:=",", Replacement:="", LookAt:=xlPart
      .Replace What:=" ", Replacement:="", LookAt:=xlPart
  End With

  Application.ScreenUpdating = True

End Sub
我正在努力查找并将名为StringName的ColumnName中的字符串“NULL”替换为0

Sub ReplaceCharacters()

  Application.ScreenUpdating = False
    Dim lrow As Long
    lrow = Cells(Cells.Rows.Count, "A").End(xlUp).Row
  With ActiveSheet.Range("A2:A" & lrow).SpecialCells(xlCellTypeConstants, xlTextValues).Cells
      .Replace What:=",", Replacement:="", LookAt:=xlPart
      .Replace What:=" ", Replacement:="", LookAt:=xlPart
  End With

  Application.ScreenUpdating = True

End Sub
我需要这方面的帮助,我已经尝试了很多,最终在这里找到了一个解决方案

这是我试过的

' not working
Sub UpdateWhole()
    With ActiveSheet.UsedRange
    .Replace "NULL", "0", xlWhole
    End With
End Sub

' not working
Sub FormulaRng()
    For i = 2 To 10
       Worksheets("Sheet1").Range("A2:A" & i).FormulaR1C1 = "=IF(A" & i & "=""NULL"",0,A" & i & ")"
    Next
End Sub
提前谢谢

下面是要测试的示例数据

StringName
------------------
NULL
NULL  
null 
nullasdf
cbgrgNULLdf343
, asdfwe 4fdt
456fg , d55nullNULL
sdf34      df,    4fd   
NULLfgf  null
121
22
34545

Required OutPut
------------------------
0
0
0
nullasdf
cbgrgNULLdf343
asdfwe4fdt
456fgd55nullNULL
sdf34df4fd
NULLfgfnull
121
22
34545

以下修订的程序应适用于您。在用
0
替换
NULL
文本之前,我使用该函数从文本中删除所有不可打印的字符

VBA代码 示例视频 试试这个

Sub test()
    Dim Ws As Worksheet
    Dim rngDB As Range

    Set Ws = ActiveSheet
    With Ws
        Set rngDB = .Range("a2", .Range("a" & Rows.Count).End(xlUp))
    End With
    With rngDB
        .Replace What:=",", Replacement:="", LookAt:=xlPart
        .Replace What:=" ", Replacement:="", LookAt:=xlPart
        .Replace What:="NULL", Replacement:="0", LookAt:=xlWhole
        .Replace What:="null", Replacement:="0", LookAt:=xlWhole
    End With


End Sub

您的空单元格是否可能有前导/尾随空格或其他不可见字符?@Tim Williams。。谢谢你的快速回复。。有空格而没有任何特殊字符你是说有空格吗?我的意思是像“NULL”这样的空格,还有带有#、u和@符号的StringName。。。我主要想删除逗号、空格,最后将“NULL”字符串改为0(零)