嗨我有一些带有数字照片的照片名称。我想删除这些数字。对于前
Cell A | Cell B
---------------------------------------------
My-photo-name-120X230.jpg | my-photo-name.jpg
----------------------------------------------
photo-you-name-240x320.jpg| photo-you-name.jpg
希望你理解我的问题。谢谢
答案 0 :(得分:1)
Sub RemoveNumbersFromStrings()
Set rNg = ThisWorkbook.Sheets("Sheet2").Range("A1:A7")
For Each rCell In rNg.Cells
If rCell.Value <> "" Or rCell.Value <> vbNullString Then
vAr = Trim(ThisWorkbook.Sheets("Sheet2").Range("a1").Value)
vAr2 = Mid(vAr, InStr(vAr, ".") - 7, InStr(vAr, " -") + 7)
ThisWorkbook.Sheets("Sheet2").Range("b1").Value = Replace(vAr, vAr2, "")
End If
Next rCell
End Sub
答案 1 :(得分:1)
如果最后一个模式总是像-###X###.jpg
那么公式:
=LEFT(A1,LEN(A1)-12)&".jpg"
会做的。或
=LEFT(A1,LEN(A1)-12)&RIGHT(A1,4)
如果不是所有照片都是*.jpg
答案 2 :(得分:1)
如果允许vba,则regex是一个很好的工具。
pattern = "\d+x\d+"
replacement = ""
dim rgx as new regex(pattern)
range("A1").value = rgx.replace(range("A1").value, replacement)
这应该这样做,没有在我在手机上打字时进行测试 代码修复了A1,但可以循环以适应。