|
Несложный код, но долго работает
|
|||
---|---|---|---|
#18+
Следующий код вроде бы несложен: с листов копируются диапазоны и вставляются на лист сводной таблицы. Но работает долго. Одно узкое место нашел, но что с ним поделать - не знаю. Может быть, ещё что-то можно поменять? Код: vbnet 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. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2013, 01:06 |
|
Несложный код, но долго работает
|
|||
---|---|---|---|
#18+
Ну, я бы для начала вместо перебора ячеек в цикле (тем более, во вложенном) - воспользовался бы .Find() Ну и "узкое" место не в использовании .Insert , а в том, что вы используете копирование через буфер. Попробуйте копировать через rng.Copy Destination:= ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2013, 09:04 |
|
Несложный код, но долго работает
|
|||
---|---|---|---|
#18+
Идея понятна, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2013, 11:06 |
|
Несложный код, но долго работает
|
|||
---|---|---|---|
#18+
Кстати, как можно по-быстрому для каждой ячейки столбца сменить текстовые значения типа 18.56 на числовое, чтобы потом в расчетах исп-ть? Циклом по сотне тысяч ячеек наверное не вар-т. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2013, 11:50 |
|
Несложный код, но долго работает
|
|||
---|---|---|---|
#18+
если системный разделитель запятая, то простой заменой точки на запятую (при условии, что ячейка имеет формат "общий" или "числовой" ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2013, 11:55 |
|
Несложный код, но долго работает
|
|||
---|---|---|---|
#18+
Shocker.Proесли системный разделитель запятая, то простой заменой точки на запятую (при условии, что ячейка имеет формат "общий" или "числовой" а если встречается и текстовый формат? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2013, 12:13 |
|
Несложный код, но долго работает
|
|||
---|---|---|---|
#18+
грязный комплектовщик, Ну так сначала выставить для всего столбца числовой формат ("общий" - не пойдёт, числа могут в даты преобразоваться), а затем произвести замену разделителя. Ctrl+Space, Ctrl+Shift+!, Ctrl+H - выставить знаки, Заменить всё... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2013, 13:50 |
|
|
start [/forum/topic.php?fid=61&gotonew=1&tid=2174428]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
147ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 266ms |
0 / 0 |