Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   [решено] удалить из строчки числа, где более 4 цифр (http://forum.oszone.net/showthread.php?t=337160)

kontox 13-10-2018 15:52 2835722

удалить из строчки числа, где более 4 цифр
 
Вложений: 1
есть txt файл, он разделен таблуляцией
его путь С:/ мойфайл.txt
его содержимое,я прикрепил.
В поле id
id
какая то фраза
*2108609 fsfhsfghsgfhjdfsdh
3420159 rgyaeghpiudarsfghpuashg 900г
2030918 Пhsapsgiju[aeri 180г
2013077 a[osdig[aodifg[ad

из строчек, где у чисел больше чем 4 цифр удалять такие числа из строчки

т.е на выходе
id
какая то фраза
fsfhsfghsgfhjdfsdh
rgyaeghpiudarsfghpuashg 900г
Пhsapsgiju[aeri 180г
a[osdig[aodifg[ad

Как это сделать средствами VBA? там много строчек.

Iska 13-10-2018 20:10 2835755

Цитата:

Цитата kontox
его содержимое,я прикрепил. »

Вы прикрепили файл *.xlsx, а не *.txt.

Цитата:

Цитата kontox
средствами VBA? »

Зачем именно VBA? Я бы работал непосредственно с текстовым файлом посредством WSH.

В любом случае, и там, и там код будет практически идентичен. На VBA для приложенной Рабочей книги:
Код:

Option Explicit

Sub Sample()
    Dim objRange As Range

    With CreateObject("VBScript.RegExp")
        .Pattern = "\d{5,}"
        .Global = True
       
        For Each objRange In Intersect(ThisWorkbook.Worksheets.Item("Лист1").UsedRange.Offset(1, 0), ThisWorkbook.Worksheets.Item("Лист1").Columns("G"))
            objRange.Value = .Replace(objRange.Value, "")
        Next objRange
    End With
End Sub


kontox 14-10-2018 15:59 2835836

Iska, все ок)


Время: 22:52.

Время: 22:52.
© OSzone.net 2001-