Excel - Hücredeki yalnızca belirli metni tutma

Konu

Dış kaynaktan (P6) dökülen verileri içeren bir excel dosyasına sahibim. Bir hücre, yalnızca çok spesifik olana ihtiyacı olan çok fazla veri içeriyor.

İşte 5 hücre neye benziyor:

 DENİZ-MVRV, DENİZ-RAD DENİZ-MVAOV, DENİZ-OPSSRO DENİZ-MVAOV1 DENİZ-KRNPOLAR, DENİZ-NPCOE, DENİZ-MMJBC, DENİZ-RAD, DENİZ-RAD, DENİZ-CRNPOLAR NPCOE, DENİZ-MVMM 

SEA'yı silmek ve ardından MV ile başlayan kısaltmaları saklamak istiyorum.

Çözüm

Varsayımlar

  • 1. Veriler A sütununda
  • 2. Sonuç B sütununda gösterilmelidir.

 Alt ekstresiMV () Dim lMaxRow Uzun Dim Satır satırIdx Uzun Dim inString Dize Olarak Dim outString Dize Olarak Dim sTemp Dize Olarak Dim iLoc Tamsayı Olarak lMaxRows = Hücreler (Rows.Count, "A"). End (xlUp) .Row için rowIdx = "A". 2 lMaxRows için inString = Kesim (Hücreler (rowIdx, "A")) outString = "" iLoc = 0 sTemp = "" iLoc = InStr (1, inString, ", ") Yapma (iLoc> 0) sTemp = Kes (( Sol (inString, iLoc - 1)) Eğer (Sol (sTemp, 6) = "SEA-MV") ise, sonra outString = outString & ", " & Mid (sTemp, 5) End inString = Kesin (Orta (inString, iLoc) + 1)) iLoc = InStr (1, inString, ", ") Döngünse (Sol (inString, 6) = "SEA-MV") Döndüğünde sonra outString = outString & ", " & Mid (inString, 5) Sonunda ise (Left (outString, 1) = ", ") Sonra outString = Kırp (Orta (outString, 2)) Hücreler İçindeyse Bitir (rowIdx, "B") = outString Next End Sub 

Not

Forumdaki bu ipucu için rizvisa1 'e teşekkür ederiz.

Önceki Makale Sonraki Makale

En Ipuçları