Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / сравнение ячейки с диапазоном / 24 сообщений из 24, страница 1 из 1
20.04.2010, 11:46
    #36587163
MaxMax2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
Друзья, помогите пожалуйста. Есть ячейка А1:1. На втором листе это же значение 1 находится в ячейке В7 (например) и в С7,D7 есть данные.
необходим цикл, который бы сравнил ячейки столбцов а и в, и если есть одинаковые, скопировал бы данные из С7, D7 в С1,D1 на лист1.
Если делать обычный цикл:

For i = 1 To 100

If Worksheets("лист1").Range("a" & i) <> Worksheets("лист2").Range("b" & i) Then
Worksheets("лист1").Range("d" & i) = Worksheets("лист2").Range("c" & i)
End If
Next

то он копирует на первый лист в d7, а не в d1. необходимо завести переменные, а как?
...
Рейтинг: 0 / 0
20.04.2010, 12:04
    #36587231
MaxMax2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
Поясню. на листе1 в столбце А будут номера. На листе2 в столбце В такие же номера, но далее в строках идет описание этих номеров. необходимо, чтобы цикл находил эти номера и копировал описание на первый лист к тем же номерам.
...
Рейтинг: 0 / 0
20.04.2010, 12:19
    #36587277
-O_o-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
MaxMax2Поясню. на листе1 в столбце А будут номера. На листе2 в столбце В такие же номера, но далее в строках идет описание этих номеров. необходимо, чтобы цикл находил эти номера и копировал описание на первый лист к тем же номерам.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Sub Макрос5()

    Range("B1").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],'2'!C[-1]:C,2,0)"
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],'2'!C1:C2,2,0)"
    Range("B1").Select
    Selection.AutoFill Destination:=Range("B1:B10"), Type:=xlFillDefault
    Range("B1:B10").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Range("D10").Select
End Sub

Вот тебе код. Записал на кодере
Думаю тебе будет так легче.
...
Рейтинг: 0 / 0
20.04.2010, 12:20
    #36587281
-O_o-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
Кстати файл лови
...
Рейтинг: 0 / 0
20.04.2010, 12:56
    #36587447
-O_o-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
ну как работает???
...
Рейтинг: 0 / 0
20.04.2010, 13:19
    #36587544
MaxMax2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
Да, спасибо большое. Только он берет 10 первых строк, как поставить хотя бы 100(просто эта таблица в одном файле начинается с 21 строки и кол-во номеров меняется постоянно, а в другом файле с 14 строки) и если ячейки пустые, он пишет #Н/Д, а как убрать? Извините, самое главное, что я хотел переделать этот код, для копии из разных файлов. вы в кодере написали формулу, а она будет работать с разными файлами?
...
Рейтинг: 0 / 0
20.04.2010, 13:46
    #36587619
MaxMaxdm2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
-O_o- Извини, что путаюсь в показаниях. Проще сделать так: первый столбец таблицы- порядковые номера(цифры), номеров этих не может быть больше 20, а потом идет таб. номер и описание. как задать цикл, чтобы в диапазоне ("а" & i) он нашел все номера и строки потом просто скопировал в другой документ?
т.е. как присвоить значения от 1 до 20, чтобы он нашел именно те строки, где в столбце "а" стоит цифра?
Еще раз извини, что путал тебя.
...
Рейтинг: 0 / 0
20.04.2010, 13:52
    #36587628
MaxMax2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
if range("a"&i).Value =1,2,3,4,5,6,7,8,9,10 then

можно через запятую?
...
Рейтинг: 0 / 0
20.04.2010, 13:56
    #36587645
-O_o-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
MaxMaxdm2-O_o- Извини, что путаюсь в показаниях. Проще сделать так: первый столбец таблицы- порядковые номера(цифры), номеров этих не может быть больше 20, а потом идет таб. номер и описание. как задать цикл, чтобы в диапазоне ("а" & i) он нашел все номера и строки потом просто скопировал в другой документ?
т.е. как присвоить значения от 1 до 20, чтобы он нашел именно те строки, где в столбце "а" стоит цифра?
Еще раз извини, что путал тебя.

Так погоди... Тебе нужно так :
- есть таблица1 с № от 1 до 20
- есть таблица2 где столбец(А) № от 1 до 20 или больше ??? и там же есть столбец(Б) со значениями. ???
Задача:
Найти все значения номера 1,2,3....20 в первой таблице ?
Или же во 2-й таблице номера все разные нет повторений?
...
Рейтинг: 0 / 0
20.04.2010, 14:12
    #36587693
MaxMax2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
вот так: в первой таблице ничего нет,кроме табельных номеров (это не просто нумерация с 1 по 20 или 25, это конкретный таб. номер) просто она фиксировано начинается с 21 строки (заголовки: таб. номер и т.д.), во второй таблице стоит нумерация в первом столбце. начинается она тоже с заголовка, и пошло:

№ таб. и далее
1 768 ккк ууу
2 555 ккк ууу
3 788 кккк ууу
4 987 кккк ккк

вот вторая таблица всегда с разной строки начинается, я сначала хотел, чтоб он брал таб. номер из первой находил его во второй и копировал нужные ячейки из этой строки в первую таблицу к этому же таб. номеру. НО теперь думаю намного проще просто найти все номера сколько их будет и скопировать в первую таблицу.
...
Рейтинг: 0 / 0
20.04.2010, 14:23
    #36587722
MaxMax2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
задаем диапазон а1:а100 если в этом диапазоне есть цифры 1,2,3 по 20, то то копируем в том же порядке, только не всю строку а яч. с,d,е,i,н.
...
Рейтинг: 0 / 0
20.04.2010, 14:28
    #36587737
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
MaxMax2, а все-таки всем (и в первую очередь вам) будет проще взять нужный файл.
скопировать, удалить лишнюю информацию.
потом изменить конфиденциальную информацию.
показать как есть.
показать как хотелось бы.
уменьшить размер файла
выложить его сюда.
...
Рейтинг: 0 / 0
20.04.2010, 14:46
    #36587789
-O_o-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
Сергей06MaxMax2, а все-таки всем (и в первую очередь вам) будет проще взять нужный файл.
скопировать, удалить лишнюю информацию.
потом изменить конфиденциальную информацию.
показать как есть.
показать как хотелось бы.
уменьшить размер файла
выложить его сюда.
+1
...
Рейтинг: 0 / 0
20.04.2010, 15:06
    #36587855
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
Вообще-то я автору уже инструмент давал (в прежней теме), но он молчит - пробовал/не пробовал...
...
Рейтинг: 0 / 0
20.04.2010, 15:10
    #36587875
-O_o-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
Hugo121Вообще-то я автору уже инструмент давал (в прежней теме), но он молчит - пробовал/не пробовал...
Я видел ваше детище. Мне просто кажется, что автор пока сам не знает чего хочет...
...
Рейтинг: 0 / 0
20.04.2010, 15:12
    #36587882
MaxMax2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
Вот. два файла. таб1 это куда должно все скопироваться. он неизменный. из таба2 нужно найти всех людей и скопировать в таб1 таб.номер фио магазин подразделение и график на весь месяц. если кол-во людей в таб2 меньше, чем в таб1, то затереть лишних в таб1.
...
Рейтинг: 0 / 0
20.04.2010, 15:13
    #36587887
MaxMax2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
Друзья, только не ругайте пожалуйста. опыта совсем мало.
...
Рейтинг: 0 / 0
20.04.2010, 15:18
    #36587912
MaxMax2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
Кол-во людей меняется, поэтому хотел сравнивать по таб. номеру. Потом решил, что это сложно и проще просто найти всех по первому столбцу таба2 их не может быть больше 20.
...
Рейтинг: 0 / 0
20.04.2010, 15:33
    #36587974
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
MaxMax2,

Ну вот моё детище (в смысле настройки) - 13 совпадений:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Файл - приёмник:	C:\temp\MaxMax2\tab1.xls
Файл - источник:	C:\temp\MaxMax2\tab2.xls
Столбцы сравнения в приёмнике:	a
Столбцы сравнения в источнике:	b
Лист - приёмник (№):	 1 
Лист - источник (№):	 1 
Столбцы - приёмники:	B,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL
Столбцы - источники:	C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ

№ 124 нет, удалять вручную.
Сравнивал по табельному номеру.
...
Рейтинг: 0 / 0
20.04.2010, 15:55
    #36588058
MaxMax2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
да, но нужно просто часть твоего кода т. к. я еще буду потом делать копирование и подстановку из других таблиц. а нужный кусок я не смогу найти и вырезать, у тебя там все оч. сложно для меня.
...
Рейтинг: 0 / 0
20.04.2010, 16:08
    #36588112
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
MaxMax2,
бери всё целиком :)
Настройки можно жёстко в код прописать - сразу писвоить переменным. Будет легче поменять, когда что-нибудь изменится.
...
Рейтинг: 0 / 0
20.04.2010, 16:22
    #36588147
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
Хотя конечно может кто и напишет код под задачу, я вроде тоже собрался человеку похожий код написать вечером: цикл по столбцу "что ищем", поиск в "где ищем", нашли - копируем заданные ячейки. Мой код это и делает, только все настройки вынесены на лист, и из-за универсальности распух маленько - постоянно что-то добавлялось.
...
Рейтинг: 0 / 0
20.04.2010, 21:55
    #36588846
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
Похожий код написал, уже собрался под эту задачу переделывать - стал вникать, и понял, что ничего не понял :)
Судя по постановке задачи и по примеру - берите таб2 целиком и не парьтесь. Должности там всё равно нет, так что можно даже и шапку не менять.
Или объясните толком, что есть и что надо получить в итоге. А то сейчас получается, что проще подтянуть в таб2 недостающие данные (APPOINT, DATE_IN, CODE, ZP) тем же ВПР() - добавить 4 столбца и протянуть 4 формулы. А так как заказываете Вы - через полгода при большой текучке кадров в таб1 может всего пару строк остаться.... если всё время лишних удалять, а новых не добавлять :)
Или другой вариант: делаете шаблон с нужными колонками, уже с формулами. В первых 4-х столбцах формулы, далее место для данных из таб2. Затем копируете туда из таб2 целиком таблицу, можно только данные. В первых столбцах ВПР() покажет недостающие данные по номерам из таб1. Порядок будет немного другой, но если напрягает, потом колонки можно местами поменять (уже с значениями). Как я понимаю, это надо проделать раз в месяц.
...
Рейтинг: 0 / 0
21.04.2010, 10:55
    #36589485
Djon Player
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение ячейки с диапазоном
MaxMax2if range("a"&i).Value =1,2,3,4,5,6,7,8,9,10 then

можно через запятую?так нельзя, можно вот так:
Код: plaintext
1.
2.
3.
Select Case Range("a" & i).Value
 Case  1 ,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ,  8 ,  9 ,  10 
    'тут код который надо выполнить.
End Select
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / сравнение ячейки с диапазоном / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]