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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2013, 09:21   #1
ingvar_on
 
Регистрация: 23.03.2013
Сообщений: 7
По умолчанию Копирование строки содежащей определенный текст

Всем доброго дня.

поделюсь свей проблемой

есть прекрасный макрос, уже не раз выручал.Однако он умеет копировать строки только при условии полного совпадения величины в ячейке 04 и величин в искомом столбце, хотелось бы научить его работать при частичном совпадении.

например сейчас так Иванов = Иванов - тогда копируется

хотелось чтобы макрос работал при любом значении в ячейке 04 :
Иван
вано

ЗЫ на имя вновь создаваемого листа мне пофигу, главное чтобы копирование выполнялось
Вложения
Тип файла: rar Цех1 Дму _2.rar (55.1 Кб, 18 просмотров)
ingvar_on вне форума Ответить с цитированием
Старый 24.03.2013, 11:33   #2
RAN.
Форумчанин
 
Аватар для RAN.
 
Регистрация: 05.07.2011
Сообщений: 208
По умолчанию

Интересная постановка вопроса!
У меня есть макрос. Как его поправить?
Но макрос я вам не покажу!
RAN. вне форума Ответить с цитированием
Старый 24.03.2013, 11:58   #3
ingvar_on
 
Регистрация: 23.03.2013
Сообщений: 7
По умолчанию

Тфу, не тот файл прилепил, сори

RAN спасибо что подсказал, про мою оплошность

вот он родимый макрос

___________________________________ ________________________________

Sub а_фамилия()
Dim Elm, Number, i As Integer
Dim NumberS As String

j = 1

ELn = Worksheets("loads").Range("o1").Val ue

Number = Worksheets("loads").Range("o4").Val ue

NumberS = CStr(Number)

Worksheets.Add Before:=Worksheets("loads")

ActiveSheet.Name = NumberS

For i = 1 To ELn


If (Worksheets("loads").Cells(i, 2).Value = Number) Then


Range(Worksheets("loads").Cells(i, 1), Worksheets("loads").Cells(i, 10)).Copy


ActiveSheet.Paste Destination:=Range(Worksheets(Numbe rS).Cells(j, 2), Worksheets(NumberS).Cells(j, 10))

j = j + 1
End If
Next i



End Sub
ingvar_on вне форума Ответить с цитированием
Старый 24.03.2013, 12:07   #4
RAN.
Форумчанин
 
Аватар для RAN.
 
Регистрация: 05.07.2011
Сообщений: 208
По умолчанию

Замените строку на эту
Код:
If Worksheets("loads").Cells(i, 2).Value Like "*" & Number & "*" Then
RAN. вне форума Ответить с цитированием
Старый 24.03.2013, 12:43   #5
ingvar_on
 
Регистрация: 23.03.2013
Сообщений: 7
По умолчанию

Спасибо, работает.

ЗЫ сам пытался это дописать Value Like "*" & Number & "*" Then
, но запутался в кавычках
ingvar_on вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен макрос для удаления листов из книги, в названиях которых содержится определенный текст. АННА-ЕАО Microsoft Office Excel 16 22.09.2015 08:56
определенный текст WebBrowser + ShowMessage beegl Работа с сетью в Delphi 11 10.01.2013 13:01
Определенный текст на форме JDel Общие вопросы Delphi 7 25.12.2011 00:38
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
Найти файл *.xls содержащий определенный текст EfDim Microsoft Office Excel 5 19.01.2009 16:22