Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
Привет всем! Помогите пожалуйста написать макрос! Макрос должен брать таблицу из Word и вставлять ее в Excel, причем в документе Word несколько таблиц, нужную таблицу следует выбирать, например, по имени столбца. Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 18:35 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
Поможем. Но не сделаем за вас. Итак, что конкретно вызвало проблемы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 18:36 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
Кстати, из ТЗ неясно, чей это должен быть макрос, вордовский или экселевский ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 18:42 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
Shocker.ProКстати, из ТЗ неясно, чей это должен быть макрос, вордовский или экселевский? Разве енто имеет значение...., если : Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 18:50 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
Макрос в Excel. Вот он собственно: Sub Поиск() Dim n, m, l, tb As Long Dim Path As String Path = GetFolderPath Set wa = CreateObject("Word.Application") On Error GoTo 3 Set oCurrDoc = wa.Documents.Open(Path) wa.Visible = True l = oCurrDoc.Tables.Count For n = 1 To l If oCurrDoc.Tables(n).Range.Rows(1).Cells(2).Range.Text Like "Наименование дисциплин*" _ And oCurrDoc.Tables(n).Range.Rows(1).Cells(1).Range.Text Like "Индекс*" Then tb = n Exit For End If Next n = oCurrDoc.Tables(tb).Range.Rows.Count m = oCurrDoc.Tables(tb).Range.Columns.Count ReDim Rng(1 To n, 1 To m) For n = 1 To oCurrDoc.Tables(tb).Range.Rows.Count For m = 1 To oCurrDoc.Tables(tb).Range.Columns.Count On Error Resume Next Dim ssl As String ssl = Replace(oCurrDoc.Tables(tb).Range.Rows(n).Cells(m).Range.Text, Chr(13), "") ssl = Replace(ssl, Chr(7), "") Rng(n, m) = ssl Next Next Application.ScreenUpdating = False ActiveSheet.Range(Cells(1, 1), Cells(n - 1, m - 1)) = Rng ActiveSheet.Range("a1").ColumnWidth = 18 ActiveSheet.Range("b1").ColumnWidth = 100 ActiveSheet.Range("c1").ColumnWidth = 18 ActiveSheet.Columns("A:C").WrapText = True ActiveSheet.Range(Cells(1, 1), Cells(n - 1, m - 1)).Borders(1).LineStyle = 1 ActiveSheet.Range(Cells(1, 1), Cells(n - 1, m - 1)).Borders(2).LineStyle = 1 ActiveSheet.Range(Cells(1, 1), Cells(n - 1, m - 1)).Borders(3).LineStyle = 1 ActiveSheet.Range(Cells(1, 1), Cells(n - 1, m - 1)).Borders(4).LineStyle = 1 Application.ScreenUpdating = True 3 wa.Quit End Sub Function GetFolderPath(Optional ByVal Title As String = "Выберите файл", Optional ByVal InitialPath As String) As String GetFolderPath = "": PS = Application.PathSeparator With Application.FileDialog(msoFileDialogOpen) .ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath If .Show = -1 Then GetFolderPath = .SelectedItems(1): If Not Right$(GetFolderPath, 1) = PS Then GetFolderPath = GetFolderPath End With End Function Проблема в том, что при большом объеме данных в строке таблицы Word, макрос не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 18:51 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
В принципе если кому-то проще написать новый макрос чем разбираться в чужом, то я только за=))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 18:54 |
|
||
|
Помогите написать макрос в 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 18:55 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
Еще просьба, можно сам файлик вордовый? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 18:58 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
Да, конечно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 19:02 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
AlisyaПривет всем! Помогите пожалуйста написать макрос! Ну макрос у меня сработал без ошибок. Можно ТОЧНО узнать, что за проблема? Не копируется какая-то длинная ячейка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 19:09 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
Ну вот и вас работает!=))) А почему у меня не работает?!!! Он не добавляет мне строки после строки ГСЭ.Ф.00 Федеральный компонент 1262. В чем может быть проблема, не подскажите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 19:17 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
Если в этой таблице я уменьшаю ячейки, оставляя только пару строк, то все работает! Вот я и подумала что это как0то от объма зависит!=) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 19:20 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
Уменьшаете ячейки? Или количество текста в ячейках? Пара строк, по идее это 255 символов может быть.... но с чего бы... Что значит "не работает". Вылетает с ошибкой или молча прекращает работать? Если первое - какая ошибка? Если второе - попробуйте выполнить в пошаговом режиме, посмотрите, почему выходит из цикла. Еще попробуйте по возможности на других версиях ворда, экселя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 19:23 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
Уменьшаю текст в ячейках. Молча прекращает работать, никаких ошибок не выдает. Он даже рисует рамки ячеек, но текста в них нет! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 19:27 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
А у вас какая версия excel? если не секрет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 19:28 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
2000. Уберите строку: On Error Resume Next ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 19:38 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
а у меня 2003. строку убрала, но ошибок все равно нек выдает. да и в цикле все строчки пробегает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 19:50 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
А если закомментарите еще и строку On Error GoTo 3 то увидите ошибку. Я и сам сейчас ее добился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 19:52 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
Странный у вас обработчик - при возникновении ошибки вылетать молча - ничего не говоря пользователю. Хоть бы сообщение выдавали или не перехватывали ошибку вообще. В общем так: проблема в выделении памяти под слишком большой массив. Рекомендация: откажитесь от массива (нафига все через него перекладывать и жрать память), пишите напрямую в цикле из ячейки ворда в ячейку экселя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 19:53 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
Еще глюк: oCurrDoc.Tables(tb).Range.Rows(n).Cells(m).Range.Text В последней строке в таблице ячейки объединены, стало быть Cells(m) для m=2 не существует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 20:03 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
Спасибо за идею, переделала! А вот с последней строчкой действительно проблематично ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 20:16 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
AlisyaСпасибо за идею, переделала! А вот с последней строчкой действительно проблематично По-хорошему, надо при каждом запуске внутреннего цикла проверять количество ячеек в конкретной строке По-плохому можно поставить On Error Resume Next только не забывать возвращать обратно On Error GoTo 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 20:19 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
Ясненько! Попробую сделать по хорошему! Спасибо огромное за помощь!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2010, 20:31 |
|
||
|
Помогите написать макрос в Excel
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro ребята программисты, помогите плиз, нужно в книге выделить цветом на 2-х листах ячейки с одинаковыми записями (я выделил их вручную как бы я хотел что б это делалось). А еще лучше чтоб отобранные данніе сопоставлялись в отдельнои листе. Помогите с макросом. Заранее благодарен Прилагаю файл (записей много потому он большой). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2010, 21:00 |
|
||
|
|

start [/forum/topic.php?fid=60&gotonew=1&tid=2159567]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
10ms |
get first new msg: |
8ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 151ms |

| 0 / 0 |
