首页 > 解决方案 > 从单元格中删除 .pdf

问题描述

这是问题所在,我已经完成了代码,但它似乎不起作用..尝试了这两种方法也不可能str = Replace(str, ".pdf", Left(str, Len(str) - 4)) str = Replace(str, ".pdf", Left(str, Len(str) - 4))

谁能帮忙?提前感谢=)

Sub removepdfword()
Dim str As String
Dim row As Long
row = 1
str = Sheet1.Range("A" & CStr(row))


Do While Sheet1.Range("A" & CStr(row)) <> ""

If Right(str, 4) = ".pdf" Then
     str = Replace(str, ".pdf", Left(str, Len(str) - 4))
     'str = Left(str, Len(str) - 4)
     MsgBox str
Else
End If
row = row + 1
Loop

End Sub

标签: vbaexcel

解决方案


@PatricK 已经告诉您Replace()函数使用中出了什么问题

但是您也缺少Sheet1在范围对象中显式引用工作表,然后默认为当前活动的工作表(这可能不是您需要的工作表)

最后,您可以避免循环并调用对象的Replace()方法,Range然后一次性完成:

With Sheet1 ' reference your sheet
    .Range("A1", .Cells(.Rows.Count, 1).End(xlUp)).Replace what:=".pdf", replacement:="", lookat:=xlPart ' call 'Replace()' method on referenced sheet column A cells from row 1 down to last not empty one
End With

推荐阅读