在不以“PDF”结尾的单元上运行代码

我正在尝试做一些重命名,如果最后3个字符= pdf,我不希望代码运行。 应该是简单的,但是当我运行macros的重命名工作正常,但它删除每个以pdf结尾的单元格。

SearchChar = "pdf" For Each bCell In rng.Cells Select Case Len(bCell) Case 2 If Right(bCell, 3) <> SearchChar Then 'This must be wrong val = SearchSite & Left(bCell, 1) & "00" & Mid(bCell, 2, 1) & "1.pdf" End If End Select bCell.Value = val Next 

你有没有尝试过改变你的If语句来检查右边的3个字符是否是pdf,那么“没有”其他的代码? 会类似于:

 If Right(bCell,3)=SearchChar Then 'Nothing Else val = SearchSite & Left(r, 1) & "00" & Mid(r, 2, 1) & "1.pdf" bCell.Value=val End If 

我的猜测是,最后3个字符是PDF,val =什么都没有,所以打印出来的是bCell.Value =没有,所以它删除它。 我把它移到了else部分。

您可以尝试像这样重命名不以“pdf”结尾的select项目

 Set rng = Selection SearchChar = "pdf" Select Case n Case 2 For Each r In rng If Right(r, 3) <> SearchChar Then 'This must be wrong r = SearchSite & Left(r, 1) & "00" & Mid(r, 2, 1) & "1.pdf" End If Next End Select