|
|
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
vkodor nPUBET Mожет это возможно как-то через Cells.SpecialCells(xlCellTypeVisible)? Конечно можно, и это у тебя уже было. Код: plaintext 1. Код: plaintext Извиняюсь, если на так обьяснил. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. Вот вариант для =Sub Udalenie()= в =Sub OTRIC_2()=, однако этот берёт всю таблицу на обработку ... Т.е. пытаюсь пристроить условие в =Sub Udalenie()=, чтобы весь =Sub Udalenie()= действовал только для видимых строк. И только если значения видимых строк в 33-ом столбце одинаковые, только тогда удаляю эти строки. А скрытые строки не трогаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 15:38:11 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. Подскажите, пожалуйста, как сравнить значения 2-х ячеек по расположению знаков? ...формулирую следующее условие: - если первые 8 знаков ячеек одинаковые, тогда выполняю процедуру А, - если первые 8 знаков неодинаковые, тогда - процедуру Б. Например, сравниваю А1="Д10003- А ", А2="Д10003- А ГТ" (подходит процедурa А). В случае c A16="Д10003-А", A17="Д10003- B ГТ" (подходит процедурa Б). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 19:49:42 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 21:30:50 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
Deggasad Код: plaintext 1. 2. 3. 4. Подскажите, пожалуйста, следующее условие: если ячейка Cells(iK, 33) содержит только 8 знаков, тогда процедура А, если больше или меньше 8 знаков, тогда процедура Б. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 14:17:49 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 14:26:36 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
vkodor Код: plaintext 1. 2. 3. 4. Спасибо! Работает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 15:12:51 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
nPUBET vkodor nPUBET Mожет это возможно как-то через Cells.SpecialCells(xlCellTypeVisible)? Конечно можно, и это у тебя уже было. Код: plaintext 1. Код: plaintext Извиняюсь, если на так обьяснил. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. Вот вариант для =Sub Udalenie()= в =Sub OTRIC_2()=, однако этот берёт всю таблицу на обработку ... Т.е. пытаюсь пристроить условие в =Sub Udalenie()=, чтобы весь =Sub Udalenie()= действовал только для видимых строк. И только если значения видимых строк в 33-ом столбце одинаковые, только тогда удаляю эти строки. А скрытые строки не трогаю попробуй так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 15:28:00 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
vkodor попробуй так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Спасибо! А то я до сих пор: как запущу весь код, начинаю считать минуты. Так что пробую... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 15:39:06 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
nPUBET.... то я до сих пор: как запущу весь код, начинаю считать минуты. Так что пробую... Код: plaintext 1. 2. 3. 4. Как исправить ошибку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 18:18:39 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 18:28:12 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 09:18:07 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
vkodor Код: plaintext Подскажите, пожалуйста, как сформулировать описанный алгоритм?(файл приложил). В листе =ucx= в приложенном файле строки, которые нужно удалить, пометил различными цветами - для каждого номера с одинаковыми первыми 14 знаками - отдельный цвет. Делаю так (на примере c =2AA10-C10001-A=): 1. Активирую лист =K1=, фильтрую по различным столбцам. 2. Иду в столбец =PCA=, чтобы определить размер проверки для номеров, в которых первые 14 знаков одинаковые. Для номеров c „2AA10-C10001-A“ - всего 12 строк. 3. Перехожу в столбец =No.=, ищу одинаковые числа по модулю (2967,03 = -2967,03; 1898,94 = -1898,94; 1253,82 = -1253,82; 17958,4 =-17958,4). Т.е. поиск идёт попарно. В каждой паре должен обязательно присутствовать номер из =PCA= с 14 знаками, а другой номер в этой паре должен содержать не менее 15 знаков. 4. Если для каждого номера с 14 знаками найдена пара (например, -1=+1), тогда заканчиваю обработку для этого номера. Пример записал в =Sub U_BET()= (второй модуль). С функцией =ABS= всё отлично до тех пор, пока идёт сравнение верхней и нижней ячеек (соседних по вертикали). Однако нужные ячейки находятся не всегда по соседству - см. лист =K1=. 5. Найденные ячейки помечаю зеленным цветом. Всего 8 ячеек (для номера =2AA10-C10001-A=). 6. Если ячейка белого цвета, ничего не делаю, если ячейка помечена зелёным цветом - тогда удаляю всю строку. Пока вот такой рабочий вариант. Пометил ='***=, где остановился. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 18:25:59 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
Здесь - часть алгоритма из верхнего поста. Подскажите, пожалуйста, как определить динамически перемeнную =номер строки c найденным значением в 43-ом столбце=. Т.е вместо =номер строки c найденным значением в 43-ом столбце= хотел бы вставить переменную типа Long . (Dim iStrok as Long). Трудные участки пометил ='**1=, ='**2=. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 14:14:35 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
Oхватываю в листе =K1= примерно 60% нужных ячеек, не выходя за пределы окрашенных ячеек, которые определил от руки в листе =ucx= (см. файл в посте nPUBET, 26.09.2007, 18:25 ). Т.е. 60% ячеек нахожу без oшибок (ненужные ячейки не обрабатываются). Не получается сформулировать дополнительные условия для полного охвата окрашенных ячеек, которые определил вручную в листе =ucx=. Подскажите, пожалуйста, как определить остаток - 40% нужных ячеек. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 17:02:18 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
Oхватываю в листе =K1= примерно 60% нужных ячеек, не выходя за пределы окрашенных ячеек, которые определил от руки в листе =ucx= (см. файл в посте nPUBET, 26.09.2007, 18:25 ). Т.е. 60% ячеек нахожу без oшибок (ненужные ячейки не обрабатываются). Не получается сформулировать дополнительные условия для полного охвата окрашенных ячеек, которые определил вручную в листе =ucx=. Подскажите, пожалуйста, как определить остаток - 40% нужных ячеек. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 20:10:35 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
С этим алгоритмом ищутся все значения (одинаковые в абсолютном выражении) в 9-ом столбце, найденные строки помечаются в 11-ом столбце синим цветом. Т.е. здесь у меня перебор - 160% (охватываются все нужные ячейки и ненужные). Пытаюсь построить следующее: 1. Ищу в 9-ом столбце противоположные по знаку, но одинаковые в абсолюте значения (например, 2967,03=-2967,03). 2. Если нахожу подходящие, то проверяю найденную пару на условия: - в сумме пара равна нулю; - проверка по данным из 5-ого столбца: здесь номер одного числа в паре имеет только 14 знаков, а номер другого числа в паре имеет более 15 знаков; первые 14 знаков номеров пары найденных чисел одинаковые. 3. Если условия пункта 2 выполняются, помечаю строки обоих чисел пары в 11-ом столбце синим цветом. Подскажите, пожалуйста, что нужно изменить в =Sub Gde()=, чтобы находились правильные пары чисел (файл приложил). Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2007, 13:11:22 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
В этом файле код из последнего поста вообще ничего не находит. Ошибки не выводит. Пытаюсь построить следующее: 1. Ищу в 9-ом столбце противоположные по знаку, но одинаковые в абсолюте значения (например, 348 = -348). 2. Если нахожу подходящие, то проверяю найденную пару на условия: - в сумме пара равна нулю; - проверка по данным из 5-ого столбца: здесь номер одного числа в паре имеет только 14 знаков, а номер другого числа в паре имеет более 15 знаков; первые 14 знаков номеров пары найденных чисел одинаковые. 3. Если условия пункта 2 выполняются, помечаю строки обоих чисел пары в 11-ом столбце синим цветом ( чтобы потом эти строки очистить при помощи =ClearContents= ). Подскажите, пожалуйста, как сделать, чтобы строки с нужными парами чисел помечались цветом в 11-ом столбце.( файл приложил). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2007, 18:37:12 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. P.S. Хорошое у тебя упорство. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2007, 11:26:29 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
vkodor Большое спасибо! Без учебников (в физической форме) немного трудновато сочинять на VBA. ...пытаюсь улучшить Твой код: у меня в 9-ом столбце (No.) часто повторяются пары (см. рисунок). Т.е первую пару алгоритм выделяет, а вот, если клоны, то код их не помечает (пытаюсь сделать, чтобы помечались и другие одинаковые пары). P.S. клоны - одинаковые пары, например, для Len=14 и Len>=15 пара 1899= -1899 может повторятся несколько раз для одного и того же номера с одинаковыми первыми 14 знаками из 5-го столбца. На риc. - в 3-х ячейках стоят серые точки. Вот эти ячейки с серыми точками не заполняются синим цветом (пытаюсь их заполнить). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2007, 13:06:18 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
вместо строки Код: plaintext Код: plaintext Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2007, 13:19:13 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
да и замени Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2007, 13:41:57 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
vkodorвместо строки Код: plaintext Код: plaintext Код: plaintext 1. 2. Изменил на так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. может здесь возможно как-нибудь: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2007, 13:56:27 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
vkodorда и замени Код: plaintext Код: plaintext заменил, не срабатывает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2007, 13:58:44 |
|
||
|
Автофильтр
|
|||
|---|---|---|---|
|
#18+
в строке .Cells(rngD.Row, 11).Interior.ColorIndex = 37 - была ошибка (sorry) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2007, 14:17:09 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34832772&tid=2182184]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 353ms |

| 0 / 0 |
