删除单元格中文本之间的数字

时间:2016-09-17 16:24:13

标签: excel

嗨我有一些带有数字照片的照片名称。我想删除这些数字。对于前

Cell A                    |    Cell B 
---------------------------------------------
My-photo-name-120X230.jpg |  my-photo-name.jpg
----------------------------------------------
photo-you-name-240x320.jpg| photo-you-name.jpg

希望你理解我的问题。谢谢

3 个答案:

答案 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,但可以循环以适应。