Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2010, 08:56   #1
shafl
 
Регистрация: 17.09.2010
Сообщений: 5
По умолчанию Макрос для поиска и отметки

Доброго времени суток. Помогите пожалуйста написать макрос для Excel. Условия такие: В столбце с данными найти ячейки содержащие подстроку X (может быть не в начале ячейки и не в конце), и записать в этой же строке но со смещением столбца на y ячеек значение z. у меня с синтаксисом очень туго
shafl вне форума Ответить с цитированием
Старый 17.09.2010, 08:58   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

columns(1).find(x).offset(0,y)=z
EducatedFool вне форума Ответить с цитированием
Старый 17.09.2010, 09:09   #3
shafl
 
Регистрация: 17.09.2010
Сообщений: 5
По умолчанию Ошибочка

Код:
Sub Макрос9()
'
' Макрос9 Макрос
'
Dim x As String
Dim y As String
x = "1/3"
y = "1/3"

Columns(3).Find(x).Offset(0, 5) = (y)
'
End Sub
пишет Run-time error '91'
значени сток правильно задаю? имеется ввиду найти 1/3 без кавычек

Последний раз редактировалось shafl; 17.09.2010 в 09:13.
shafl вне форума Ответить с цитированием
Старый 17.09.2010, 09:20   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

У меня всё работает: http://excelvba.ru/XL_Files/Sample__...__11-20-24.zip
EducatedFool вне форума Ответить с цитированием
Старый 17.09.2010, 10:04   #5
shafl
 
Регистрация: 17.09.2010
Сообщений: 5
По умолчанию

Спасибо, большое. Я не в том столбце искал Ищется только первое значение, а как сделать для всех в столбце, или хотя бы первой 1000?
shafl вне форума Ответить с цитированием
Старый 17.09.2010, 10:23   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub Макрос9()
    Dim x As String, y As String
    x = "1/3": y = "1/333"
    
    Dim cell As Range, ra As Range: Application.ScreenUpdating = False
    Set ra = Range([c1], Range("c" & Rows.Count).End(xlUp))
    For Each cell In ra.Cells
        If cell Like "*" & x & "*" Then cell.Offset(0, 5) = y
    Next cell
End Sub
http://excelvba.ru/XL_Files/Sample__...__12-23-27.zip
EducatedFool вне форума Ответить с цитированием
Старый 17.09.2010, 10:57   #7
shafl
 
Регистрация: 17.09.2010
Сообщений: 5
По умолчанию

Огромное вам спасибо! Всё работает
shafl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос для поиска совпадений Dealaxer Microsoft Office Excel 18 26.09.2012 17:33
Макрос поиска текста на листе Movled Microsoft Office Excel 11 29.07.2010 11:59
Макрос для поиска и замены слов на слова с верхним подчеркиванием salvafion Microsoft Office Word 4 07.09.2009 19:14
Макрос Excel поиска и вставки igorok Microsoft Office Excel 2 08.07.2009 18:49
Макрос для поиска/замены Davidoff Microsoft Office Excel 1 20.01.2007 16:01