Страницы: 1
RSS
метод Find
 
Всем здравствуйте!  
сделал макрос для преобразования сметы к табличному виду: одна позиция сметы - одна строка таблицы  
все хорошо, кроме отмеченных в коде строк. find их почему-то не находит.  
В чем проблема?
 
Что-то не вижу "отмеченных" строк...  
Может поменять xlFormulas на xlvalues?
 
Тяжело найти черную кошку в темной комнате, особенно когда ее там нет...  
 
Set r1 = Range(.Cells(i, 3), .Cells(i + m, 3)).Find(What:="ЗП"  
 
Найдите хоть 1 "ЗП" в столбце "С"!-:)
 
Юрий,  
в коде коммент перед проблемным блоком  
если бы не работал во всех семи случаях, а "ЗП" же ищет  
но попробую
 
{quote}{login=RAN}{date=06.04.2011 10:47}{thema=}{post}Тяжело найти черную кошку в темной комнате, особенно когда ее там нет...  
 
Set r1 = Range(.Cells(i, 3), .Cells(i + m, 3)).Find(What:="ЗП"  
 
Найдите хоть 1 "ЗП" в столбце "С"!-:){/post}{/quote}  
в другом файле есть
 
И неплохо бы 1 маленький файл: небольшой код - с первого листа ищем данные на втором. И на нём эти самые "неуловимые" данные :-)
 
{quote}{login=Юрий М}{date=06.04.2011 10:42}{thema=}{post}Что-то не вижу "отмеченных" строк...  
Может поменять xlFormulas на xlvalues?{/post}{/quote}  
не помогло
 
Погорячился...
 
Вот где собака зарыта  
Set r2 = Range(.Cells(i, 3), .Cells(i + !!!!!___7___!!!!!, 3)).Find(What:="ЭМ", LookIn:=xlFormulas, LookAt:=xlWhole)  
Так работает  
Не вдавался в подробности, но м = 1  
Маловато будет
 
конструкция типа  
Range(.Cells(i, 3), .Cells(i + m, 3)).  
является свойством активного листа,  
поэтому чтобы применить Find    
надо активировать нужный лист
 
{quote}{login=Kuzmich}{date=07.04.2011 12:00}{thema=Re}{post}конструкция типа  
Range(.Cells(i, 3), .Cells(i + m, 3)).  
является свойством активного листа,  
поэтому чтобы применить Find    
надо активировать нужный лист{/post}{/quote}  
Не согласен.
 
{quote}{login=тухачевский}{date=06.04.2011 10:25}{thema=метод Find}{post}В чем проблема?{/post}{/quote}  
Андрей, в строке 50 кода Вы, очевидно, подразумевали .Borders(xlEdgeBottom).LineStyle = xlContinuous  
вместо .Borders(xlEdgeBottom).Weight = xlThin
 
{quote}{login=ZVI}{date=07.04.2011 12:53}{thema=}{post}{quote}{login=тухачевский}{date=06.04.2011 10:25}{thema=метод Find}{post}В чем проблема?{/post}{/quote}  
Андрей, в строке 50 кода Вы, очевидно, подразумевали .Borders(xlEdgeBottom).LineStyle = xlContinuous  
вместо .Borders(xlEdgeBottom).Weight = xlThin{/post}{/quote}  
ZVI,  
спасибо, заработало  
PS имеется ввиду, что чтобы линия была тонкой, она сначала должна быть?
 
Во как - мы про Find думали, а нужно было про границы :-)
Страницы: 1
Наверх