|
Поправьте
|
|||
---|---|---|---|
#18+
Добрый день, поправьте пожалуйста макрос p4 в файле. Должен работать так: На листе 1 в 3 колонки все шифры услуг по определенному предприятия На листе 4 в 8 колонке полный перечь услуг Нужно чтобы на листе 4 остались только те записи что есть на 1 листе. Макрос работает не совсем правильно, 2 шифра правильные остаются а остальные нет. Файлик выкладываю в архиве. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 08:02 |
|
Поправьте
|
|||
---|---|---|---|
#18+
Чип&ДейлДобрый день, поправьте пожалуйста макрос p4 в файле. Должен работать так: На листе 1 в 3 колонки все шифры услуг по определенному предприятия На листе 4 в 8 колонке полный перечь услуг Нужно чтобы на листе 4 остались только те записи что есть на 1 листе. Макрос работает не совсем правильно, 2 шифра правильные остаются а остальные нет. Файлик выкладываю в архиве. Модератор, вы что спите? Удалите вирус из топика ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 08:36 |
|
Поправьте
|
|||
---|---|---|---|
#18+
Проверил, Вы его смотрели, чтобы так смело утверждать что там вирус? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 08:56 |
|
Поправьте
|
|||
---|---|---|---|
#18+
Чип&Дейл что-то похожее было здесь: 18276758 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 10:08 |
|
Поправьте
|
|||
---|---|---|---|
#18+
Забавно видеть макрос с programmers который мне написали) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 12:12 |
|
Поправьте
|
|||
---|---|---|---|
#18+
Чип&ДейлЗабавно видеть макрос с programmers который мне написалиЭто Вы про какой? В теме по ссылке мой код. И он ни разу не с programmers. Как бы не наоборот :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 13:08 |
|
Поправьте
|
|||
---|---|---|---|
#18+
Про вот этот Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Решил сделать вот так, но ничего не копируется, где я косячу? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 13:26 |
|
Поправьте
|
|||
---|---|---|---|
#18+
Чип&Дейл, Файл какой для проверки использовать? Тот, что в первом сообщении? Пошагово пробовали выполнять код и смотреть что у Вас там в ячейках сравниваемых? Может реально копировать нечего, т.к. ничего не сходится. После PasteSecial лучше указывать что именно вставлять. Если все, то PasteSecial вообще не нужен: Код: vbnet 1.
Ну а сам код как-то кривовато написан...Я бы как минимум циклы так сделал: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Ну а оптимально в массивах обрабатывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 13:34 |
|
Поправьте
|
|||
---|---|---|---|
#18+
The_Prist, Я плохо понимаю массивы. sh2.Cells(a, 1).PasteSecial xlPasteValues Вылетала ошибка, пропущена p. Происходит копирование первой строки с листа 4 а должно происходить копирование когда нашлось совпадение ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 13:50 |
|
Поправьте
|
|||
---|---|---|---|
#18+
Да, для проверки файл что в первом сообщении ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 13:51 |
|
Поправьте
|
|||
---|---|---|---|
#18+
Поправил, но все равно косячно работает :( Set sh = Sheets(1) Set sh1 = Sheets(2) lrow = sh.Cells(Rows.Count, 3).End(xlUp).Row 'ïîñëåäíÿÿ çàïîëíåííàÿ ÿ÷åéêà ëèñòà 1 lrow2 = sh1.Cells(Rows.Count, 3).End(xlUp).Row 'ïîñëåäíÿÿ çàïîëíåííàÿ ÿ÷åéêà ëèñòà 4 - ïî÷åìó 4, à íå 3?!!! a = 10 'ñ÷åò÷èê äëÿ âñòàâêè â íóæíó ñòðîêó For j = 10 To lrow For w = 1 To lrow2 If sh.Cells(j, 3) = sh1.Cells(w, 8) Then sh1.Range(sh1.Cells(w, 4), sh1.Cells(w, 22)).Copy Sheets(3).Cells(a, 1).PasteSpecial xlPasteValues 'âñòàâëÿåì òîëüêî çíà÷åíèÿ a = a + 1 End If Next w Next j ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 14:06 |
|
Поправьте
|
|||
---|---|---|---|
#18+
Чип&Дейлпервой строки с листа 4Так у Вас на лист5 уже есть данные аж до 285-й строки. А Вы с 10-й туда данные переносите. Т.е. затираете те данные, что были до этого. Уверены, что так надо? Лист очищать не надо перед этим? Или может быть в конец листа данные вставлять, а не с 10-й строки? Так же непонятно почему на первых двух листах данные просматриваете с 1-ой строки, когда данные начинаются тоже с 10-ой. Я вот проверил с 10-й - совпадение нет. Да и вряд ли будут. У Вас сравнение идет по 3-ему столбцу, в котором для первого листа(Лист1) "Шифр услуги", а для второго(Лист4) "Наименование услуги". Совпадений там не было вероятно никогда. И вряд ли будут. Скорее правильнее со вторым столбцом на Лист4 сравнивать, а не с 4-ым. Тогда и копировать будет. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 15:51 |
|
|
start [/forum/topic.php?fid=60&msg=39083830&tid=2155753]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 142ms |
0 / 0 |