Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 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()
    ;Dim Столбец 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

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам