Разбор столбца строк с использованием VBA - PullRequest
1 голос
/ 30 мая 2009

Я хотел бы проанализировать столбец строки строк в Excel VBA, каждая из которых содержит следующее:

2 '␂'

Я бы хотел изменить содержимое этой ячейки, чтобы оно содержало только 2 (или любые числовые символы непосредственно перед строкой. Какой самый простой способ анализа такой информации? Спасибо.

Ответы [ 2 ]

2 голосов
/ 30 мая 2009

Если вы уверены в формате, найдите строку перед '(апостроф) и измените значение ячейки. Предполагая, что вы находитесь в ячейке с этим значением, используйте следующий код VBA.

activecell.text = mid(activecell.text, 1, instr(1, activecell.Text, "'")-1)

Он ищет апостроф, извлекает символы перед ним и помещает его в текущую ячейку.

0 голосов
/ 30 июня 2011

Предполагая, что числовые данные всегда находятся в начале ячейки, вы можете использовать Regex, чтобы найти любые последовательные числа в начале строки, останавливаясь, как только она достигает первых нечисловых символов. Вот функция, которая сделает это за вас, надеюсь, это поможет. ^ Обозначает начало ячейки, а (\ d +) означает один или несколько числовых символов, а. * Означает, за которыми следует ноль или более символов. Я предполагаю, что вам нужна только одна строка чисел, поэтому у меня есть регулярное выражение, возвращающее субматч 0 (первое совпадение).

Function ExtractNumericData(ByVal text As String) As String

Application.ScreenUpdating = False
Dim allMatches As Object
Dim RE As Object
Set RE = CreateObject("vbscript.regexp")

RE.Pattern = "^(\d+).*"
RE.Global = True
Set allMatches = RE.Execute(text)
ExtractNumericData = allMatches.Item(0).submatches.Item(0)
Application.ScreenUpdating = True

End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...