Страница: 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