2016-09-17 4 views
-1

こんにちは私の写真の名前のいくつかに数字のあるシートがあります。私はこの数字を削除したい。例の場合セル内のテキスト間の数字の数字を削除する

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

私の質問を理解してください。最後のパターンが-###X###.jpgように常にある場合に感謝

+1

あなたはこれまでに何を試しましたか?また、「X」は数字ではなく、削除する必要がありますか?論理的なルールがありますか? –

+0

@DirkReichelは、テキストを列幅ツールに固定し、幅を固定して特殊文字を入力しようとしました。私はまた 'LEFT(A4、LEN(A4)-SEARCH( "x"、A4)-4)のコードを試してみましたが、はい、これは数字ではありません。これは、120x230のような写真サイズのため、数字が削除された場合は、検索と置換ツールでxを削除できます。ありがとう – deva

+0

名前は常に "" sometextになります - *** X ***。jpg'?はいの場合は、 '= LEFT(A1、LEN(A1)-12)&"。jpg "'を実行する必要があります。 –

答えて

1

は、式:

=LEFT(A1,LEN(A1)-12)&".jpg" 

を行います。または

=LEFT(A1,LEN(A1)-12)&RIGHT(A1,4) 

ないすべての画像がある場合*.jpg

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

VBA正規表現は、このための優れたツールですその後、許可された場合。

pattern = "\d+x\d+" 
    replacement = "" 
    dim rgx as new regex(pattern) 
    range("A1").value = rgx.replace(range("A1").value, replacement) 

これは、私の携帯電話で入力しているように、これを行う必要があります。
コードはA1を修正しますが、それに合わせてループすることができます。

関連する問題