|
|
|
работа с двумя книгами excel
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, помогите, пожалуйста с написанием макроса, который освободит от рутинной работы. Есть две книги excel -book1.xls (запрос) и bd.xls (база данных). Коротко - необходимо найти одинаковые данные в обоих книгах, если таковые будут, то сделать пометку об этом. В книге book1.xls есть столбец В, котором построчно внесены следующие данные ячейка B1- green ячейка B2- yellow ячейка B3- red ячейка B4- car ячейка B5- ball ячейка B6- job далее необходимо значения каждой из этих ячеек проверить на наличие в базе данных - файлик bd.xls В этом файле так же есть столбец B, в котором в ячейках данные записаны в следующем виде: ячейка B1- green, yellow, blue, pink ячейка B2- good, bad, pleasure ячейка B3- fun, joy, ячейка B4- bus, car, subway ячейка B5- ball, clew, tangle если находится совпадение, например, значение ячейки из B1 book1.xls "green" присутствует в B1 базе данных, то для отметки из базы данных в файл book1.xls копируется значение столбца D (в данном случае D1 "colors"). и так по всему столбцу. Помогите, плз! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 18:48:16 |
|
||
|
работа с двумя книгами excel
|
|||
|---|---|---|---|
|
#18+
seveЗдравствуйте, помогите, пожалуйста с написанием макроса, который освободит от рутинной работы. Есть две книги excel -book1.xls (запрос) и bd.xls (база данных). Коротко - необходимо найти одинаковые данные в обоих книгах, если таковые будут, то сделать пометку об этом. В книге book1.xls есть столбец В, котором построчно внесены следующие данные ячейка B1- green ячейка B2- yellow ячейка B3- red ячейка B4- car ячейка B5- ball ячейка B6- job далее необходимо значения каждой из этих ячеек проверить на наличие в базе данных - файлик bd.xls В этом файле так же есть столбец B, в котором в ячейках данные записаны в следующем виде: ячейка B1- green, yellow, blue, pink ячейка B2- good, bad, pleasure ячейка B3- fun, joy, ячейка B4- bus, car, subway ячейка B5- ball, clew, tangle если находится совпадение, например, значение ячейки из B1 book1.xls "green" присутствует в B1 базе данных, то для отметки из базы данных в файл book1.xls копируется значение столбца D (в данном случае D1 "colors"). и так по всему столбцу. Помогите, плз! а почему не формулой? A B1green=ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ("*"&B1&"*";'C:\[BD.xls]Лист1'!$B:$B;0));ИНДЕКС('C:\[BD.xls]Лист1'!$D:$D;ПОИСКПОЗ("*"&B1&"*";'C:\[BD.xls]Лист1'!$B:$B;0));"") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 23:14:01 |
|
||
|
работа с двумя книгами excel
|
|||
|---|---|---|---|
|
#18+
KL (XL), добрый день. Спасибо большое! работает. Остался уточняющий вопрос - по этой формуле подыскивается ближайшее совпадение, т.е. если нужно слово "пар", а первым по поиску попадается ячейка, в которой есть слово "паровоз", то оно подходит под указанные критерии. можно это исправить? я пока нашел такой вариант: в функции ПОИСКПОЗ(MATCH) первый параметр "*"&B1&"*" заменил на "*"&" "&B1&","&"*" Тогда, если необходимо найти именно слово "пар" в нескольких столбцах паровоз, самолет, вертолет, душ, пар, вода, снег, воз, телега, пар, выбирается вторая строка, но при этом необходимо форматировать все сроки, что первые пара символов были пробелы и последний тоже пробел. Может есть более простые более удобные варианты? KL (XL), еще раз БОЛЬШОЕ спасибо!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 15:35:56 |
|
||
|
работа с двумя книгами excel
|
|||
|---|---|---|---|
|
#18+
seveKL (XL), добрый день. Спасибо большое! работает. Остался уточняющий вопрос - по этой формуле подыскивается ближайшее совпадение, т.е. если нужно слово "пар", а первым по поиску попадается ячейка, в которой есть слово "паровоз", то оно подходит под указанные критерии. можно это исправить? я пока нашел такой вариант: в функции ПОИСКПОЗ(MATCH) первый параметр "*"&B1&"*" заменил на "*"&" "&B1&","&"*" Тогда, если необходимо найти именно слово "пар" в нескольких столбцах паровоз, самолет, вертолет, душ, пар, вода, снег, воз, телега, пар, выбирается вторая строка, но при этом необходимо форматировать все сроки, что первые пара символов были пробелы и последний тоже пробел. Может есть более простые более удобные варианты? KL (XL), еще раз БОЛЬШОЕ спасибо!! Боюсь, что в этом случае либо надо делать то, что ты уже сам нашел либо писать код с регулярными выражениями, а главное с открытием файла источника или импортированием данных с пом. MS Query или ADO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 00:29:39 |
|
||
|
работа с двумя книгами excel
|
|||
|---|---|---|---|
|
#18+
Если не принципиально какую из строк найдет формула, то еще вот такой вариант: =ИНДЕКС('C:\[BD.xls]Лист1'!$D:$D;ПОИСК(9E+307;ПОИСКПОЗ({"*, ";"*, ";""}&A1&{",*";"";",*"};'C:\[BD.xls]Лист1'!$B:$B;0))) KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 01:08:18 |
|
||
|
работа с двумя книгами excel
|
|||
|---|---|---|---|
|
#18+
KL (XL), спасибо. разобрался;) Можешь подсказать, как изменить цвет заливки ячейки А1 (или цвет шрифта), если, например, B1 не пустая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 11:41:55 |
|
||
|
работа с двумя книгами excel
|
|||
|---|---|---|---|
|
#18+
Условное форматирование посмотри в справке! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 11:52:43 |
|
||
|
работа с двумя книгами excel
|
|||
|---|---|---|---|
|
#18+
спасибо, посмотрел, но не по подходит (или у меня не получается). Ситуация примерно такая: в ячейку A1 вводим слово, идет проверка, после чего в ячейке B1 или появляется какое-нить значение, или же ячейка B1 остается пустой. так вот хотелось бы теперь поиметь обратную связь, т.е в зависимости от того пустая ячейка B1 или нет, изменяется окраска ячейки A1. Есть варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 20:17:03 |
|
||
|
работа с двумя книгами excel
|
|||
|---|---|---|---|
|
#18+
- выбираем ячейку [A1] - меню Формат-Условное форматирование... - в Условии 1 в первом комбобоксе выбираем опцию Формула - в поле для формулы пишем: =B1<>"" - жмем на кнопку Формат и выбираем нужное - жмем на кнопку OK - жмем на кнопку OK KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 21:40:43 |
|
||
|
работа с двумя книгами excel
|
|||
|---|---|---|---|
|
#18+
Спасибо, большое, ребята!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 11:48:13 |
|
||
|
работа с двумя книгами excel
|
|||
|---|---|---|---|
|
#18+
Народ, подскажите, пожалуйста, как подсчитать кол-во запятых в столбце B? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2007, 11:00:44 |
|
||
|
работа с двумя книгами excel
|
|||
|---|---|---|---|
|
#18+
seveНарод, подскажите, пожалуйста, как подсчитать кол-во запятых в столбце B? Предлагаю как получилось у меня Может можно и лучше 1) Код: plaintext вместо 1;2;3;4 - свои номера символов по порядку в слове ,в которых может встречаться запятая (разделитель точка с запятой указан для русской локали, см у себя разделитель столбцов в массиве) 2) Вместо массива констант использовать столбцы Код: plaintext вместо СТОЛБЕЦ(A1:T1) выдели столько горизонтально расположенных ячеек сколько максимально может быть символов в ячейке столбца B:B ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2007, 11:42:55 |
|
||
|
работа с двумя книгами excel
|
|||
|---|---|---|---|
|
#18+
=СУММПРОИЗВ(ДЛСТР(B1:B100)-ДЛСТР(ПОДСТАВИТЬ(B1:B100;",";""))) KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2007, 14:45:57 |
|
||
|
работа с двумя книгами excel
|
|||
|---|---|---|---|
|
#18+
Спасибо автор 1) =СУММПРОИЗВ(--(ПСТР($B$1:$B$100;{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20};1)=",")) , Deggasad, эмм... может и работает.. только у меня в ячейке до 200символов и более... поэтому воспользовался второй предложенной формулой. KL (XL), спасибо работает! оба варианта ок, только вот разница в вычисляже есть небольшая: по формуле =СУММПРОИЗВ(--(ПСТР($B$1:$B$100;СТОЛБЕЦ(A1:T1);1)=",")) получается 11220. A1:T1 заменил на A1:IS1 а по формуле =СУММПРОИЗВ(ДЛСТР(B1:B100)-ДЛСТР(ПОДСТАВИТЬ(B1:B100;",";""))) на сотню больше. Это не критично, просто информация FYI. ;) Большое спасибо, выручили!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2007, 15:22:10 |
|
||
|
работа с двумя книгами excel
|
|||
|---|---|---|---|
|
#18+
seveоба варианта ок, только вот разница в вычисляже есть небольшая: по формуле =СУММПРОИЗВ(--(ПСТР($B$1:$B$100;СТОЛБЕЦ(A1:T1);1)=",")) получается 11220. A1:T1 заменил на A1:IS1 а по формуле =СУММПРОИЗВ(ДЛСТР(B1:B100)-ДЛСТР(ПОДСТАВИТЬ(B1:B100;",";""))) на сотню больше. =СУММПРОИЗВ(--(ПСТР($B$1:$B$100;СТОЛБЕЦ(A1:T1);1)=",")) проверяет первые 20 знаков, т.к. СТОЛБЕЦ(A1:T1) = {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20} seveЭто не критично, просто информация FYI. ;) :-о KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2007, 16:04:58 |
|
||
|
работа с двумя книгами excel
|
|||
|---|---|---|---|
|
#18+
я видел, автор предупредил. поэтому и написал, что A1:T1 заменил на A1:IS1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2007, 16:10:44 |
|
||
|
работа с двумя книгами excel
|
|||
|---|---|---|---|
|
#18+
seveя видел, автор предупредил. поэтому и написал, что A1:T1 заменил на A1:IS1 значит весьма вероятно, что у тебя в столбце имеются тексты длиннее, чем 253 знака, а главное - есть запятые на позициях 254 и/или более. KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2007, 16:25:38 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34708166&tid=2182468]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 321ms |

| 0 / 0 |
