Она выведет все значения из ячейки, которые стоят после двоеточия.
Вопрос в следующем: я хочу написать код макроса, который будет сравнивать значения после двоеточия в двух разных ячейках, и делать неважно что, если значения совпадают. Мой примитивный тестовый код выглядит вот так: [vba]
Код
If Mid(Cells(2, 1), Find(""":""", Cells(2, 1)) + 1, 32000) = Mid(Cells(1, 1), Find(""":""", Cells(1, 1)) + 1, 32000) Then Cells(2, 2) = 1 End If
[/vba]
vba ругается на "Find". Подскажите пожалуйста, как можно переделать корректно данный кусок кода? Была мысль сделать две переменные в которые записывать результат формулы, а затем сравнивать эти переменные, но кажется, это не очень кошерно будет.
Заранее спасибо!
Всем доброго времени суток!
В Excel'е есть такая формула:
Код
=ПСТР(A1;НАЙТИ(":";A1)+1;32000)
Она выведет все значения из ячейки, которые стоят после двоеточия.
Вопрос в следующем: я хочу написать код макроса, который будет сравнивать значения после двоеточия в двух разных ячейках, и делать неважно что, если значения совпадают. Мой примитивный тестовый код выглядит вот так: [vba]
Код
If Mid(Cells(2, 1), Find(""":""", Cells(2, 1)) + 1, 32000) = Mid(Cells(1, 1), Find(""":""", Cells(1, 1)) + 1, 32000) Then Cells(2, 2) = 1 End If
[/vba]
vba ругается на "Find". Подскажите пожалуйста, как можно переделать корректно данный кусок кода? Была мысль сделать две переменные в которые записывать результат формулы, а затем сравнивать эти переменные, но кажется, это не очень кошерно будет.
Есть два варианта что использовать для поиска: 1) функции VBA: InStr или InStrRev 2) функции Excel'я: WorksheetFunction.Find В самом VBA нет функции "Find", поэтому ругается.
Можно вообще не искать, а использовать такой код: [vba]
Код
Split("text", ":", 2)(1)
[/vba] "2" означает, что нужно разбить только на две части. "(1)" означает, что нужно посмотреть второй элемент (в данном случае нумерация начинается с нуля).
Есть два варианта что использовать для поиска: 1) функции VBA: InStr или InStrRev 2) функции Excel'я: WorksheetFunction.Find В самом VBA нет функции "Find", поэтому ругается.
Можно вообще не искать, а использовать такой код: [vba]
Код
Split("text", ":", 2)(1)
[/vba] "2" означает, что нужно разбить только на две части. "(1)" означает, что нужно посмотреть второй элемент (в данном случае нумерация начинается с нуля).Karataev
Сообщение отредактировал Karataev - Понедельник, 21.11.2016, 13:53