Страница: 1 |
Страница: 1 |
Вопрос: сравнения текста в разных ячейках VBA Эксель
Добавлено: 08.05.08 17:13
Автор вопроса: konovtsev
Здравствуйте!
задача следующая:
есть ячейка с адресом "ул. Красноармейская, 206"
туда надо добавить индекс путем сравнения текста и копирования , ячейка с индексом выглядет так "Красноармейская ул - 344022", как видно порядок и синтаксис написания улице разный.
незнаю с помощью чего проверить и потом вырезать индекс из ячейки.
заранее спасибо!
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
J. Smith
ICQ: ненавижу
Вопросов: 40
Ответов: 477
Web-сайт:
Профиль | | #1
Добавлено: 08.05.08 20:40
Короче:
ул. Красноармейская, 206
Красноармейская ул - 344022
Если Индекс это циферка в конце, то вот так его можно получить
tmpStr = значение_ячейки
Index = right$(len(tmpstr)-instrrev(tmpstr," ")
Номер ответа: 2
Автор ответа:
J. Smith
ICQ: ненавижу
Вопросов: 40
Ответов: 477
Web-сайт:
Профиль | | #2
Добавлено: 08.05.08 20:44
Если хочешь убедиться, что в ячейке есть слово "Красноармейская", то
If Instr(значение_ячейки,"Красноармейская" > 0 Then
есть_красноармейская
Else: нет_красноармейской
End If
Номер ответа: 3
Автор ответа:
noob
Вопросов: 5
Ответов: 25
Профиль | | #3
Добавлено: 09.05.08 10:56
скажите плиз как сравнить все ячейки из одной строки с каждой ячейкой в другой строке и например выделить цветом
со столбцами понятно
Sub Macro1()
For z = 1 To 100
If Range("a" & z) <> Range("b" & z) Then
Range("a" & z).Select
Selection.Font.ColorIndex = 3
Else
Range("a" & z) = Range("b" & z)
Range("a" & z).Select
Selection.Font.ColorIndex = 5
End If
Next
End Sub
а как правилно для строк написать код?
Номер ответа: 4
Автор ответа:
J. Smith
ICQ: ненавижу
Вопросов: 40
Ответов: 477
Web-сайт:
Профиль | | #4
Добавлено: 09.05.08 14:44
страшная картина, так понятнее
Sub Macro1()
Dim Столбец As Integer, Номер_проверяемой_строки As Integer, Номер_Листа As Integer
Номер_Листа = 1
Номер_проверяемой_строки = 1
With Sheets(Номер_Листа).UsedRange
For Столбец = .Column To .Columns.Count
If Cells(Номер_проверяемой_строки, Столбец) = Cells(Номер_проверяемой_строки + 1, Столбец) Then
Cells(Номер_проверяемой_строки, Столбец).Font.ColorIndex = 5
Else: Cells(Номер_проверяемой_строки, Столбец).Font.ColorIndex = 3
End If
Next
End With
End Sub
Строка в ячейке, или цифра, или дата, для этого кода не имеет значения.
Не понял, нужно каждую следующую строку сверять с предыдущей по столбцам?
Номер ответа: 5
Автор ответа:
noob
Вопросов: 5
Ответов: 25
Профиль | | #5
Добавлено: 09.05.08 18:09
большое спасибо как раз то , на что я хотел получить ответ
Номер ответа: 6
Автор ответа:
noob
Вопросов: 5
Ответов: 25
Профиль | | #6
Добавлено: 14.05.08 22:08
Sub Macro1()
 im Столбец As Integer,
sorry
Номер_проверяемой_строки As Integer, Номер_Листа As Integer
Номер_Листа = 1
Номер_проверяемой_строки = 1
With Sheets(Номер_Листа).UsedRange
For Столбец = .Column To .Columns.Count
if Cells(Номер_проверяемой_строки, Столбец).Font.ColorIndex = 5 then ???????????????
'Else: Cells(Номер_проверяемой_строки, Столбец).Font.ColorIndex = 3
End If
Next
End With
End Sub