2016-10-21 4 views
-3

Я пытаюсь написать сценарий Excel VBA. У меня есть диапазон в столбце (A2: A1000) со строками. Каждая строка в диапазоне составляет 2 буквы, за которыми следует номер (например, «AB12345» или «CD67890»). Я хочу найти диапазон для каждой строки, начинающейся с «AB», а затем определить, что является максимальным числовым значением после двух букв. Может ли кто-нибудь сказать мне, как я должен это делать?Код Excel VBA для определения максимального значения в диапазоне строк

+1

Показать какой-либо код, пожалуйста, или доказательства или исследования или, по крайней мере, ваше лучшее предположение о том, как это сделать. –

+0

Прокрутите свой диапазон, проверьте первые 2 символа, если «AB» затем сохранит значение до максимальной переменной и максимального диапазона. Следующая итерация, если значение выше хранимого значения, заменит max и range. Просто с чего начать. – nbayly

ответ

0

Это должно сделать трюк. Не проверено.

MaxValue = 0 
For i=2 To 1000 
    If Cells(1, i).Value Like "AB*" Then 
     MaxValue = Application.Max(MaxValue, CInt(Split(Cells(1, i).Value, "AB")[1])) 
    End If 
Next i 
+0

Сколько времени вам потребуется, чтобы проверить это? –

+0

На данный момент нет Excel. Этот код должен работать, за исключением некоторых возможных синтаксических ошибок. Это зависит от вас, чтобы проверить это. – table

0

В В2 входят:

=IF(LEFT(A2,2)<>"AB","",--RIGHT(A2,LEN(A2)-2)) 

и скопировать вниз. Затем в другой ячейке введите:

=MAX(B2:B1000) 

enter image description here

Такой подход позволяет избежать использования формулы массива.

Смежные вопросы