excel 使用VBA查找和替换

hsvhsicv  于 2023-01-27  发布在  其他
关注(0)|答案(1)|浏览(312)

我有一个图表,我需要删除某些关键字从列C-范围C3:C5000(一些单元格是空白的)。需要删除的话放在列A-范围A3:A100(一些单元格是空白的)。这两个范围得到不同的文件更改。我写了一个代码,但它不工作的动态范围。我还想排序列C根据字符在单元格中的升序。请帮助

Sub Replace_Char()

Dim i As Integer
Dim Mpp As String

For i = 3 To 50
    Mpp = Cells(i, 1).Value
    If Cells(i, 1).Value <> 0 Then

Worksheets("Sheet1").Columns("C").Replace _
 What:=Mpp, Replacement:="", _
 SearchOrder:=xlByColumns, MatchCase:=True
 End If
 
Next i

End Sub
mwg9r5ms

mwg9r5ms1#

对于动态范围,可以尝试使用. UsedRange属性。对于按字符数排序,请创建一个公式类似"= LEN(D1)"的列,然后按该列对工作表进行排序。

Sub Replace_Char()

Dim i As Integer
Dim Mpp As String

'For i = 3 To 50
Dim Thing As Range
For Each Thing In ActiveSheet.UsedRange.Columns(1).Cells
    
    Mpp = Cells(i, 1).Value
    If Cells(i, 1).Value <> 0 Then

        Worksheets("Sheet1").Columns("C").Replace _
            What:=Mpp, Replacement:="", _
            SearchOrder:=xlByColumns, MatchCase:=True
    End If
 
'Next i
Next

末端子组件

相关问题