Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
Есть большой macros где данные из csv файла надо вставить в Excel Мне надо дописать маленькую часть где: если есть TOTAL OTHER REVENUE тогда оставить и OTHER REVENUE если нет TOTAL OTHER REVENUE тогда удалить OTHER REVENUE Вот пишу так, но почему-то OTHER REVENUE всегда удаляется -- когда есть TOTAL OTHER REVENUE и когда его нет. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2010, 18:22 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
это образец csv файла когда есть TOTAL OTHER REVENUE: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. это образец csv файла когда нет TOTAL OTHER REVENUE и тогда надо удалить OTHER REVENUE Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2010, 18:34 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
Ваш кусок настолько вырван из контекста, что не подлежит анализу. Поставьте точку останова на условиях и распечатайте значения выражений с MID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2010, 20:18 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
sasha2345, у Вас ведь цикл идёт сверху, и в любом случае сперва удалит OTHER REVENUE, а лишь затем обнаружит TOTAL OTHER REVENUE. Я думаю, есть 3 варианта (лучший 3-ий): 1.если TOTAL OTHER REVENUE всегда ниже, то цикл надо вести снизу и выходить из цикла при нахождении. 2. если TOTAL OTHER REVENUE всегда ниже, то цикл надо вести снизу и использовать флаг. Т.е. если нашли тотал - ставим флаг = true, и тогда удаление не сработает (проверять флаг перед удалением. 3. Использовать find по этому столбцу. Если TOTAL OTHER REVENUE не нашлось - запускаем цикл перебора сторок, или даже так же через find ищем строку с OTHER REVENUE и удаляем. Т.е. дословно Ваше условие: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2010, 20:25 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
Hugo121у Вас ведь цикл идёт сверху, и в любом случае сперва удалит OTHER REVENUE, а лишь затем обнаружит TOTAL OTHER REVENUE. Хьюго, почему? Он же Mid-ом режет строку (можно использовать Left, кстати), так что не должен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2010, 20:28 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, я так прочитал: идёт по строкам вниз, начиная с 5-ой, и если в начале 8-ой ячейки нет "TOTAL OTHER REVENUE", то удаляет эту строку, если в ней в начале есть "OTHER REVENUE". Т.е. в любом случае эту строку удалит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2010, 20:33 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
Ну вот например так, если в этом листе в 8-ом столбце только одно возможное значение "TOTAL OTHER REVENUE" и "OTHER REVENUE" Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2010, 20:51 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
Hugo121, Спасибо! Работает! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2010, 23:34 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
sasha2345, смотри, это только на одно совпадение! Если будет больше, уже второе не удалит! И может ещё LookAt:=xlWhole, MatchCase:=False можно поменять... мало ли там пробелы... И диапазон поиска можно сузить, если там например на одном листе несколько таких списков есть - можно перебрать их по-отдельности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2010, 23:53 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
Hugo121, подскажите как если в колонке 8 встречается : Mid(Cells(i, 8), 1, 5) = "TOTAL" то тогда после этой строчки вставлять пустую? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 07:24 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
Код: plaintext где c - ячейка с выполняющимся условием ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 08:21 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
sasha2345Hugo121, подскажите как если в колонке 8 встречается : Mid(Cells(i, 8), 1, 5) = "TOTAL" то тогда после этой строчки вставлять пустую? Уже подсказали, но есть одно недосказанное, что может вдруг неожиданно проявиться: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 11:53 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
Hugo121, что-то после того как я хочу вставить пустую строчку весь макро не работает так как работал до вставки. и не важно как пишу, так Код: plaintext 1. 2. или так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. оно все работает вроде нормально, но в последних блоках данные вставляются из csv и их макро не форматирует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 15:27 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
так выглядит до вставки пустой строчки после TOTAL -- все нормально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 15:41 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
а так когда делаю вставку пустой строчки после TOTAL -- нет никакого формата в конце: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 15:44 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#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. 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. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 15:58 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
sasha2345, Лучше бы файл с макросом (перед его выполнением) приложили бы, проще было анализировать. Что заметил: цикл в операции Find-delete совершенно не нужен, так Вы 550(?) раз делаете ненужную работу - хватит и одного раза. Уже всё найдено и удалено. Но конечно если там удалять надо не по одной строке, тогда это работает, но тогда надо просто поиск организовать с продолжением, а не многократно делать одиночный поиск. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 17:08 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
Так, опять те же грабли: формат внизу не ставится потому, что iRows у Вас определяется в самом начале кода, и после вставки строк их количество естественно увеличивается, а iRows остаётся прежним. Поэтому нижние строки уже не проверяются в цикле Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Выход: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Но 100% за верность кода не ручаюсь - проверить не могу - нет файла... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 17:24 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
Вот, сделал пример, работает до низу, поанализируй: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 17:38 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 18:05 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 18:05 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
поменял на i = iRows To... -- но все тоже самое Я выложил тут макрос и csv файл Hugo121, твой файл я скачал и он ранается, но я хотел посмотреть сам макрос но он не активен в Excel: View--> Macros--->Edit ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 18:13 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
sasha2345, Вот это что делает? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Да и For i = 1 To 6 хочется сделать For i = 1 To 8 (в двух местах), а то тут и там ниже ошибки при Cells(i, 3) = -1 * Cells(i, 3) вылазят... В общем, что-то не стыкуется, такой код явно нерабочий на этом файле. А мой код в листе, у меня через Alt+F8 можно выбрать и редактировать или запускать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 18:30 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
это адрес и он нужен удаление первой колонки там есть но даже если я эту часть убираю -- то таже проблема всеравно остается Hugo121sasha2345, Вот это что делает? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Да и For i = 1 To 6 хочется сделать For i = 1 To 8 (в двух местах), а то тут и там ниже ошибки при Cells(i, 3) = -1 * Cells(i, 3) вылазят... В общем, что-то не стыкуется, такой код явно нерабочий на этом файле. А мой код в листе, у меня через Alt+F8 можно выбрать и редактировать или запускать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 18:48 |
|
||
|
macros -- данные из csv файла надо вставить в Excel
|
|||
|---|---|---|---|
|
#18+
sasha2345, я поздно заметил новый csv файл, да, там есть CSZ, а почему в первом небыло??? Ну ладно, целиком проверить не получилось, так там всё наворочено... почему-то молча всё окончилось, хотя результат не сохранился - нет у меня такого сетевого диска... непорядок, тоже надо пофиксить. Ну так и есть, чтобы до конца форматировало, надо ещё раз переназначить iRows, вот так: Код: plaintext 1. 2. 3. 4. Ну и цикл убери, когда удаляешь, вот тут: Код: plaintext 1. 2. 3. 4. 5. например Код: plaintext 1. 2. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 19:22 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36572810&tid=2159872]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 329ms |
| total: | 456ms |

| 0 / 0 |
