Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Заполнение спецификации макросом - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение спецификации макросом (Макросы/Sub)
Заполнение спецификации макросом
HeoH Дата: Воскресенье, 27.11.2016, 07:19 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
После заполнения спецификации, на вкладке штамп нажимаю сформировать спецификацию, частично макрос выполняется, потом появляется ошибка
кто может помогите решить эту проблему
файл большой, даже не смотря на что заархивирован
выложил себе на ядиск, вот ссыль - ссылка удалена. Нарушение Правил форума


Сообщение отредактировал HeoH - Воскресенье, 27.11.2016, 09:02
 
Ответить
СообщениеПосле заполнения спецификации, на вкладке штамп нажимаю сформировать спецификацию, частично макрос выполняется, потом появляется ошибка
кто может помогите решить эту проблему
файл большой, даже не смотря на что заархивирован
выложил себе на ядиск, вот ссыль - ссылка удалена. Нарушение Правил форума

Автор - HeoH
Дата добавления - 27.11.2016 в 07:19
Pelena Дата: Воскресенье, 27.11.2016, 08:22 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Внешние ссылки на файлы на форуме запрещены. Делайте файл-пример без лишних данных, картинок, листов и строк.
И дайте теме более конкретное название в соответствии с Правилами форума


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВнешние ссылки на файлы на форуме запрещены. Делайте файл-пример без лишних данных, картинок, листов и строк.
И дайте теме более конкретное название в соответствии с Правилами форума

Автор - Pelena
Дата добавления - 27.11.2016 в 08:22
HeoH Дата: Воскресенье, 27.11.2016, 08:54 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
вы не понимаете, файл спецификации сам п себе очень объемный
я его уменьшить не могу
в нем создается спецификация закупки для проектирования
я бы рад уменьшить его но не могу
если не верите скачайте посмотрите
могу на почту выслать

максимум насколько получилось уменьшить 1,95мб
меньше никак


Сообщение отредактировал HeoH - Воскресенье, 27.11.2016, 09:12
 
Ответить
Сообщениевы не понимаете, файл спецификации сам п себе очень объемный
я его уменьшить не могу
в нем создается спецификация закупки для проектирования
я бы рад уменьшить его но не могу
если не верите скачайте посмотрите
могу на почту выслать

максимум насколько получилось уменьшить 1,95мб
меньше никак

Автор - HeoH
Дата добавления - 27.11.2016 в 08:54
wild_pig Дата: Воскресенье, 27.11.2016, 21:31 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 517
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
вы не понимаете,

Это точно.
сделать спецификацию на 1-2 листа ну вообще невозможно.
 
Ответить
Сообщение
вы не понимаете,

Это точно.
сделать спецификацию на 1-2 листа ну вообще невозможно.

Автор - wild_pig
Дата добавления - 27.11.2016 в 21:31
HeoH Дата: Понедельник, 28.11.2016, 13:24 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
шутки шутками но когда специфа на 10-15листов в ручную как то вообще долго
 
Ответить
Сообщениешутки шутками но когда специфа на 10-15листов в ручную как то вообще долго

Автор - HeoH
Дата добавления - 28.11.2016 в 13:24
HeoH Дата: Понедельник, 28.11.2016, 13:36 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
[vba]
Код
'добавляем основной штамп
Worksheets(res).Activate
Worksheets(res).Shapes("group4").Select
Selection.Copy
Worksheets("Печать").Paste Destination:=Worksheets("Печать").Range(gr4range1 + CStr(crow + 28), gr4range2 + CStr(crow + 28))

'заполняем осн. штамп
Worksheets("Печать").Activate
ActiveSheet.Shapes("group4").Select
Application.Wait Time:=Now + TimeValue("0:00:01")
With ActiveSheet.Shapes("group4")
.IncrementLeft gr4incrlft
.IncrementTop gr4incrtp
End With
Selection.ShapeRange.Ungroup.Select
ActiveSheet.Shapes("Поле13").Select
Selection.Characters.Text = Worksheets("Штамп").Range("H2").Value
If Worksheets("options").Range("B2").Value = "1" Then
Selection.Font.Size = Worksheets("Штамп").Range("H2").Font.Size
End If
ActiveSheet.Shapes("Поле13").Name = "Поле4_13"
ActiveSheet.Shapes("Поле14").Select
Selection.Characters.Text = l
ActiveSheet.Shapes("Поле14").Name = "Поле4_14"
[/vba]

Debug указывает на эту строчку - ActiveSheet.Shapes("group4").Select
 
Ответить
Сообщение[vba]
Код
'добавляем основной штамп
Worksheets(res).Activate
Worksheets(res).Shapes("group4").Select
Selection.Copy
Worksheets("Печать").Paste Destination:=Worksheets("Печать").Range(gr4range1 + CStr(crow + 28), gr4range2 + CStr(crow + 28))

'заполняем осн. штамп
Worksheets("Печать").Activate
ActiveSheet.Shapes("group4").Select
Application.Wait Time:=Now + TimeValue("0:00:01")
With ActiveSheet.Shapes("group4")
.IncrementLeft gr4incrlft
.IncrementTop gr4incrtp
End With
Selection.ShapeRange.Ungroup.Select
ActiveSheet.Shapes("Поле13").Select
Selection.Characters.Text = Worksheets("Штамп").Range("H2").Value
If Worksheets("options").Range("B2").Value = "1" Then
Selection.Font.Size = Worksheets("Штамп").Range("H2").Font.Size
End If
ActiveSheet.Shapes("Поле13").Name = "Поле4_13"
ActiveSheet.Shapes("Поле14").Select
Selection.Characters.Text = l
ActiveSheet.Shapes("Поле14").Name = "Поле4_14"
[/vba]

Debug указывает на эту строчку - ActiveSheet.Shapes("group4").Select

Автор - HeoH
Дата добавления - 28.11.2016 в 13:36
nilem Дата: Понедельник, 28.11.2016, 17:35 | Сообщение № 7
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Debug указывает на эту строчку - ActiveSheet.Shapes("group4").Select

при этом дебагер указывает, что "Компонент с указанным именем не найден". Так?


Яндекс.Деньги 4100159601573
 
Ответить
Сообщение
Debug указывает на эту строчку - ActiveSheet.Shapes("group4").Select

при этом дебагер указывает, что "Компонент с указанным именем не найден". Так?

Автор - nilem
Дата добавления - 28.11.2016 в 17:35
HeoH Дата: Вторник, 29.11.2016, 10:19 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
именно так
хотя этот компонент есть сидит на скрытом листе res1
могу вам на почту выслать, что бы Вы посмотрели если Вас незатруднит
 
Ответить
Сообщениеименно так
хотя этот компонент есть сидит на скрытом листе res1
могу вам на почту выслать, что бы Вы посмотрели если Вас незатруднит

Автор - HeoH
Дата добавления - 29.11.2016 в 10:19
nilem Дата: Вторник, 29.11.2016, 10:51 | Сообщение № 9
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
попробуйте вот так, без Select
[vba]
Код
Worksheets(res).Shapes("group4").Copy' res or res1?
Worksheets("Печать").Paste Destination:=Worksheets("Печать").Range(gr4range1 + CStr(crow + 28), gr4range2 + CStr(crow + 28))
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениепопробуйте вот так, без Select
[vba]
Код
Worksheets(res).Shapes("group4").Copy' res or res1?
Worksheets("Печать").Paste Destination:=Worksheets("Печать").Range(gr4range1 + CStr(crow + 28), gr4range2 + CStr(crow + 28))
[/vba]

Автор - nilem
Дата добавления - 29.11.2016 в 10:51
HeoH Дата: Вторник, 29.11.2016, 10:57 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
нет, не помогло
давайте я вам на почту полный файл специфы вышлю
 
Ответить
Сообщениенет, не помогло
давайте я вам на почту полный файл специфы вышлю

Автор - HeoH
Дата добавления - 29.11.2016 в 10:57
nilem Дата: Вторник, 29.11.2016, 11:21 | Сообщение № 11
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Нет, на почту не надо, здесь это не разрешается.
Разве что пример нарисовать небольшой и сюда выложить.
Скорее всего фигура у вас называется по-другому или переменная res обозначает не тот лист.
У меня вот так работает:
[vba]
Код
Sub ttt()
Sheets("Лист1").Shapes("Группа 3").Copy
Sheets("Лист2").Paste Sheets("Лист2").Range("D8")
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеНет, на почту не надо, здесь это не разрешается.
Разве что пример нарисовать небольшой и сюда выложить.
Скорее всего фигура у вас называется по-другому или переменная res обозначает не тот лист.
У меня вот так работает:
[vba]
Код
Sub ttt()
Sheets("Лист1").Shapes("Группа 3").Copy
Sheets("Лист2").Paste Sheets("Лист2").Range("D8")
End Sub
[/vba]

Автор - nilem
Дата добавления - 29.11.2016 в 11:21
SLAVICK Дата: Вторник, 29.11.2016, 11:24 | Сообщение № 12
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
давайте я вам на почту полный файл специфы вышлю

Давайте Вы перестанете спамить - почитаете правила форума и наконец-то сделаете вменяемый пример.
Если в 100кб не вкладываетесь - есть архиваторы. Кроме того они умеют разделить файл на части. Два три куска для обычного примера более чем достаточно.
Вам замечание и бан два часа на то чтобы почитать правила и сделать пример.


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
давайте я вам на почту полный файл специфы вышлю

Давайте Вы перестанете спамить - почитаете правила форума и наконец-то сделаете вменяемый пример.
Если в 100кб не вкладываетесь - есть архиваторы. Кроме того они умеют разделить файл на части. Два три куска для обычного примера более чем достаточно.
Вам замечание и бан два часа на то чтобы почитать правила и сделать пример.

Автор - SLAVICK
Дата добавления - 29.11.2016 в 11:24
HeoH Дата: Вторник, 29.11.2016, 14:30 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
1. огромное спасибо модератору Pelena - самый адекватный и уважаемый для меня теперь администратор которые с пониманием отнесся к моей просьбе, помогла уменьшить экселевский файл, и оформить тему! как говорится ей респек и уважение! Она хороший человек!
А вы Славик как человек похоже так себе раз не можете войти в положение и понять человека

2. я не лузер и знаю что такое архиваторы и умею архивировать разбивать на части, размер изначального файла от 1.4мб и при архивации он уменьшается на 100кб максимум

3. в правилах форума НИГДЕ не прописано что нельзя пересылать файл по почте

4. приложил экселевский файл который уменьшила уважаемая Pelena
К сообщению приложен файл: _small_.rar (94.8 Kb)


Сообщение отредактировал HeoH - Вторник, 29.11.2016, 14:31
 
Ответить
Сообщение1. огромное спасибо модератору Pelena - самый адекватный и уважаемый для меня теперь администратор которые с пониманием отнесся к моей просьбе, помогла уменьшить экселевский файл, и оформить тему! как говорится ей респек и уважение! Она хороший человек!
А вы Славик как человек похоже так себе раз не можете войти в положение и понять человека

2. я не лузер и знаю что такое архиваторы и умею архивировать разбивать на части, размер изначального файла от 1.4мб и при архивации он уменьшается на 100кб максимум

3. в правилах форума НИГДЕ не прописано что нельзя пересылать файл по почте

4. приложил экселевский файл который уменьшила уважаемая Pelena

Автор - HeoH
Дата добавления - 29.11.2016 в 14:30
Pelena Дата: Вторник, 29.11.2016, 14:45 | Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
HeoH, Вы меня сейчас просто подставили, потому что в правилах четко сказано, что запрещено переходить в личку в бесплатном разделе форума. SLAVICK лучше меня выполняет свою работу :)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеHeoH, Вы меня сейчас просто подставили, потому что в правилах четко сказано, что запрещено переходить в личку в бесплатном разделе форума. SLAVICK лучше меня выполняет свою работу :)

Автор - Pelena
Дата добавления - 29.11.2016 в 14:45
nilem Дата: Вторник, 29.11.2016, 14:56 | Сообщение № 15
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
[vba]
Код
'Копируем штамп на 1 лист----------------
Worksheets("res1").Shapes("Group10").Copy
Worksheets("Печать").Paste Destination:=Worksheets("Печать").Range(gr10range)
[/vba]
Листа res просто нет


Яндекс.Деньги 4100159601573
 
Ответить
Сообщение[vba]
Код
'Копируем штамп на 1 лист----------------
Worksheets("res1").Shapes("Group10").Copy
Worksheets("Печать").Paste Destination:=Worksheets("Печать").Range(gr10range)
[/vba]
Листа res просто нет

Автор - nilem
Дата добавления - 29.11.2016 в 14:56
SLAVICK Дата: Вторник, 29.11.2016, 14:58 | Сообщение № 16
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
[offtop]
вы Славик как человек похоже так себе раз не можете войти в положение и понять человека

Как человек может и так себе, а как один из модераторов вполне законно могу Вас забанить за грубое нарушение Правил форума по ряду пунктов:
начиная с 3-го:
Цитата
ВСЕГДА прикладывайте файл-пример, кроме тех случаев, когда вопрос носит общий характер и не касается конкретно Вашего файла
...
- Чтобы понять и помочь - достаточно таблицы на 10-20 строк

Продолжая по ряду подпунктов 5-го пункта:
Цитата
b - обсуждать действия Администрации сайта;
k - выкладывать ссылки на другие ресурсы, если они напрямую не связаны с обсуждаемой проблемой и не содержат её решения в том случае, если Вы не являетесь автором темы;
o - предлагать собеседнику перейти в личные отношения (ЛС, SkyPe, ICQ, Агент и проч...), кроме форума "Фриланс";

И еще:
раз не можете войти в положение и понять человека

Вы уважаете других форумчан, их время?
в правилах форума НИГДЕ не прописано что нельзя пересылать файл по почте

Читайте еще раз вышеприведенные правила внимательно.
И еще, чтобы не вышло как в этой теме.
Вы ставите мне минус в репутацию за то что? я указал Вам на Ваши ошибки - а Вы их ленитесь исправлять?
Могу и ответить - но тогда Ваша "репутация" уйдет далеко в минус[/offtop]


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение[offtop]
вы Славик как человек похоже так себе раз не можете войти в положение и понять человека

Как человек может и так себе, а как один из модераторов вполне законно могу Вас забанить за грубое нарушение Правил форума по ряду пунктов:
начиная с 3-го:
Цитата
ВСЕГДА прикладывайте файл-пример, кроме тех случаев, когда вопрос носит общий характер и не касается конкретно Вашего файла
...
- Чтобы понять и помочь - достаточно таблицы на 10-20 строк

Продолжая по ряду подпунктов 5-го пункта:
Цитата
b - обсуждать действия Администрации сайта;
k - выкладывать ссылки на другие ресурсы, если они напрямую не связаны с обсуждаемой проблемой и не содержат её решения в том случае, если Вы не являетесь автором темы;
o - предлагать собеседнику перейти в личные отношения (ЛС, SkyPe, ICQ, Агент и проч...), кроме форума "Фриланс";

И еще:
раз не можете войти в положение и понять человека

Вы уважаете других форумчан, их время?
в правилах форума НИГДЕ не прописано что нельзя пересылать файл по почте

Читайте еще раз вышеприведенные правила внимательно.
И еще, чтобы не вышло как в этой теме.
Вы ставите мне минус в репутацию за то что? я указал Вам на Ваши ошибки - а Вы их ленитесь исправлять?
Могу и ответить - но тогда Ваша "репутация" уйдет далеко в минус[/offtop]

Автор - SLAVICK
Дата добавления - 29.11.2016 в 14:58
HeoH Дата: Вторник, 29.11.2016, 14:59 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Листа res просто нет


есть вот такое -
[vba]
Код

' выбор листа с граф. объектами
If (Range("Опции.Печать_в_кромку").Value <> "1") Then
res = "res1"
Else
res = "res2"
End If
[/vba]


Сообщение отредактировал HeoH - Вторник, 29.11.2016, 15:10
 
Ответить
Сообщение
Листа res просто нет


есть вот такое -
[vba]
Код

' выбор листа с граф. объектами
If (Range("Опции.Печать_в_кромку").Value <> "1") Then
res = "res1"
Else
res = "res2"
End If
[/vba]

Автор - HeoH
Дата добавления - 29.11.2016 в 14:59
nilem Дата: Вторник, 29.11.2016, 15:08 | Сообщение № 18
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
И так тоже работает
[vba]
Код
Worksheets(res).Shapes("Group10").Copy
Worksheets("Печать").Paste Destination:=Worksheets("Печать").Range(gr10range)
[/vba]

зайдите пож в пост №12 и вставьте теги "код" (вот такой значок #)
или просто удалите код из сообщения. Чувствую, сейчас бан заработаем
[moder]ТС заработал два замечания за эту тему.
Злой модератор следит :D [/moder]


Яндекс.Деньги 4100159601573

Сообщение отредактировал SLAVICK - Вторник, 29.11.2016, 15:12
 
Ответить
СообщениеИ так тоже работает
[vba]
Код
Worksheets(res).Shapes("Group10").Copy
Worksheets("Печать").Paste Destination:=Worksheets("Печать").Range(gr10range)
[/vba]

зайдите пож в пост №12 и вставьте теги "код" (вот такой значок #)
или просто удалите код из сообщения. Чувствую, сейчас бан заработаем
[moder]ТС заработал два замечания за эту тему.
Злой модератор следит :D [/moder]

Автор - nilem
Дата добавления - 29.11.2016 в 15:08
HeoH Дата: Вторник, 29.11.2016, 15:10 | Сообщение № 19
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
зайдите пож в пост №12 и вставьте теги "код" (вот такой значок #)
или просто удалите код из сообщения. Чувствую, сейчас бан заработаем


благодарю, исправил
 
Ответить
Сообщение
зайдите пож в пост №12 и вставьте теги "код" (вот такой значок #)
или просто удалите код из сообщения. Чувствую, сейчас бан заработаем


благодарю, исправил

Автор - HeoH
Дата добавления - 29.11.2016 в 15:10
Pelena Дата: Вторник, 29.11.2016, 15:12 | Сообщение № 20
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Раз уж меня разоблачили, скажу, что у меня макрос из исходного файла, так же как и из уменьшенного срабатывает без сбоев. У автора темы он застревает при копировании сгруппированного объекта (штампа) с одного листа на другой. Штамп этот вставляется на каждый лист (в смысле на каждую печатную страницу), но ошибка выпадает где-то на 5-6 странице, то есть не сразу. Причину найти не удалось


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеРаз уж меня разоблачили, скажу, что у меня макрос из исходного файла, так же как и из уменьшенного срабатывает без сбоев. У автора темы он застревает при копировании сгруппированного объекта (штампа) с одного листа на другой. Штамп этот вставляется на каждый лист (в смысле на каждую печатную страницу), но ошибка выпадает где-то на 5-6 странице, то есть не сразу. Причину найти не удалось

Автор - Pelena
Дата добавления - 29.11.2016 в 15:12
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение спецификации макросом (Макросы/Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!