Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2010, 12:37   #11
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

А что? Предложение из поста №9 не подходит?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 17.03.2010, 12:38   #12
Foxx
Форумчанин
 
Регистрация: 23.07.2009
Сообщений: 181
По умолчанию

Да так именно это, чтобы при добавлении строк и столбцов, те имена сохранялись и были созданы новые для новых добавленных. Вы бы не могли объяснить расписать поподробнее, пытаюсь, и все равно перезадает имена. Может чего то неправильно я делаю? И как перехватывать автоматически, надо конечно, если у Вас есть возможность распишите поподробнее. Весьма благодарен. И как использовать ячейку другого листа.
Запускаю в name вылазиет ошибка какая то.
Вложения
Тип файла: rar name.rar (6.8 Кб, 12 просмотров)

Последний раз редактировалось Foxx; 17.03.2010 в 12:43.
Foxx вне форума Ответить с цитированием
Старый 17.03.2010, 12:59   #13
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

В принципе, я и так все достаточно подробно описал. Что Вам конкретно не понятно?
Посмотрите вложение. Исходно ячейки не именованы. Запустите макрос. Посмотрите, что получилось. После этого, попробуйте добавить строку (столбец) и снова запустите макрос. "Сдвинутые" после Вашего добавления ячейки имена не изменят, а добавленные получат новые имена, отличные от всех имеющихся. И т.д.
В качестве служебной ячейки используется ячейка "A1" скрытого листа "Temp".
Запуск макроса по событию вставки строк (столбцов) сегодня сделать уже не успею. Только завтра.
Вложения
Тип файла: rar name_2.rar (11.5 Кб, 20 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 17.03.2010, 13:07   #14
Foxx
Форумчанин
 
Регистрация: 23.07.2009
Сообщений: 181
По умолчанию

Вроде разобрался. Ячейку A1 держим свободным. меня интересует число, которое увеличивается с каждым разом применения макроса. И еще, было не понятно у ячейки было сначала имя имя_B8 потом стало имя_1B13, я думал так и будет менять потом, но нет так и осталось, хотя присутствуют и то и другое имя у ячейки, но по умолчанию показывает имя_1B13. Ссылки в Wordе так и остались. Вроде бы все меняется, работает. При добавлении строк и столбцов. Объясните еще пожалуйста про полный сервис с автоматическим запуском. И насчет служебных целей, чтобы использовать ячейку другого листа, в котором она фиксирована. Хранить это значение в глобальной переменной нельзя, т.к. оно потеряется при закрытии книги.

Последний раз редактировалось Foxx; 17.03.2010 в 13:16.
Foxx вне форума Ответить с цитированием
Старый 17.03.2010, 13:12   #15
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
И насчет служебных целей, чтобы использовать ячейку другого листа, в котором она фиксирована.
Это реализовано в предыдущем вложении (ячейка "A1" скрытого листа "Temp").
Цитата:
про полный сервис с автоматическим запуском
Это не сложно. Сделаю завтра. Сейчас - убегаю.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 17.03.2010, 13:18   #16
Foxx
Форумчанин
 
Регистрация: 23.07.2009
Сообщений: 181
По умолчанию

Скачал name_2.rar открыл, запустил макрос, выходит ошибка Run-time Error 1004. Введено недопустимое имя. Вот это непонятно. Если стираю "сумма чисел" из ячейки А1, все нормально. но нужно же чтобы A1 было в скрытом листе.

Последний раз редактировалось Foxx; 17.03.2010 в 13:20.
Foxx вне форума Ответить с цитированием
Старый 18.03.2010, 06:20   #17
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Скачал name_2.rar открыл, запустил макрос, выходит ошибка...
Проверил еще раз. Проблем не обнаружил. Прикрепите Ваш файл, в котором при запуске макроса возникает ошибка.
Цитата:
но нужно же чтобы A1 было в скрытом листе.
Повторяю в 3-й раз: макрос использует ячейку "A1" скрытого листа "Temp", который уже есть в прикрепленном файле. Поэтому, его работа никак не зависит от ячеек рабочего (активного) листа. С ними Вы можете делать что угодно.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 18.03.2010, 07:34   #18
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите вложение. При открытии книги, всем использованным ячейкам листа "Лист1" будут присвоены имена. При дальнейшей работе, при вставке строки (столбца) новые ячейки получат другие имена. Старые ячейки (которые сдвигаются в результате вставки) свои имена не изменят. Никаких макросов вручную запускать не нужно. Все происходит автоматически.
Вложения
Тип файла: rar name_3.rar (16.0 Кб, 33 просмотров)
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 18.03.2010 в 09:12.
SAS888 вне форума Ответить с цитированием
Старый 18.03.2010, 19:47   #19
Foxx
Форумчанин
 
Регистрация: 23.07.2009
Сообщений: 181
По умолчанию

Спасибо огромное за вашу помощь, хотелось бы уж разобраться почему так выходит эта ошибка. Расписываю подробно как все делал. При запуске Excel макросов нет никаких. Захожу в "Вид">отобразить окно (для личной книги макросов). Потом: Разработчик>запись макроса>присвоить ctrl+q. Прописываю в макрос ваш код. Макрос сохраняю в личной книге макросов. Потом скрываю окно личной книги. Создаю документ, там прописываю сумму, разность. Сохраняю n1.xlsm. Снова открываю и нажимаю ctrl+q. Ниже архив, можно увидеть что вылазиет. Сам не пойму с чем связано, поэтому так расписал, и поэтому несколько раз переспрашивал насчет A1. Так как если не писать ничего в ней, то вроде работает.
P.S. Наверное, я Вас уже достал.
А файл ваш вообще замечательный, добавляет, изменяет, то, что было нужно как раз. Еще залил фоты, с архива name_2.rar.
И еще маленький нюанс: пытался импортировать vba коды из вашего файла, на новый файл, никак не получается. Вдруг в дальнейшем придется создавать новые файлы по умолчанию соответвствующих параметров, и чтобы там тоже прописать такое чудо. Сделал экспорт, сохранил. Создал новый файл, делаю импорт, а не хочет.
Изображения
Тип файла: jpg name2_1.jpg (223.6 Кб, 148 просмотров)
Тип файла: jpg name2_2.jpg (147.1 Кб, 146 просмотров)
Тип файла: jpg name2_3.jpg (204.2 Кб, 115 просмотров)
Вложения
Тип файла: rar nn1.rar (391.9 Кб, 14 просмотров)

Последний раз редактировалось Foxx; 18.03.2010 в 22:07.
Foxx вне форума Ответить с цитированием
Старый 19.03.2010, 06:56   #20
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Использование данной процедуры для всех файлов (из персональной книги макросов) весьма проблематично. Дело в том, что во-первых, как я уже не однократно говорил, макрос использует ячейку для хранения служебной информации в скрытом листе, который уже создан в примере. Но это не самое страшное. Во-вторых, при открытии книги происходит перехват ID команд вставки строк и столбцов и назначается свой макрос, при закрытии книги - все возвращается в исходное состояние, чего не допустимо делать со всеми книгами подряд. Поэтому, предлагаю не использовать вариант с персональной книгой макросов. Просто скопируйте код всех модулей из примера в соответствующие модули требуемой книги. И не забудьте создать и скрыть лист "Temp", в котором ячейка "A1" должна содержать 1.
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 19.03.2010 в 06:58.
SAS888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как разделить значения ячеек по формату ячеек? ARIRAN Microsoft Office Excel 6 11.12.2009 15:30
макрос - подсчитать для каждой строки кол-во ячеек с «+», кол-во ячеек с «-» Vadim_abs Microsoft Office Excel 36 14.07.2009 12:08
имена файлов Tirendus БД в Delphi 1 01.04.2009 20:49
Имена хостов :( InseR Работа с сетью в Delphi 1 04.07.2007 12:15