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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2011, 00:03   #21
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
т.е. можно сделать так: создать отдельный лист и сделать чтобы макрос на нем автоматически запускался и обновлял данные о листах в книге(именно обновлялся, а не продолжался новым списком)?
Вообще-то, приведенный выше код просто выводит на лист список листов, как я говорил - это только пример. И при последующем запуске макроса список будет накапливаться.
Но ведь полученный однажды список, перед запуском кода можно очистить, вот тогда и будет нужное Вам обновление списка, при каждом запуске макроса.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 06.08.2011, 00:04   #22
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

AKSENOV048, я что-то не вижу, что Вы чему-то учитесь. Кроме как задавать вопрос на разных форумах:"Ну что, никто не поможет?" Вставьте в модуль книги:
Код:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
    Call tt
End Sub

Private Sub Workbook_Open()
    Call tt
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    Call tt
End Sub

Sub tt()
    Dim i&
    On Error Resume Next
    Me.Names("myshts").Delete
    Worksheets(1).[A:A].ClearContents
    For i = 1 To Sheets.Count
        Worksheets(1).Cells(i, 1) = Sheets(i).Name
    Next i
    Worksheets(1).[a1].CurrentRegion.Name = "myshts"
End Sub
Далее в нужной ячейке Данные-проверка-список-источник данных: =myshts
И все. Ничего не нужно запускать руками.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 06.08.2011 в 00:08.
kuklp вне форума Ответить с цитированием
Старый 06.08.2011, 00:07   #23
AKSENOV048
Пользователь
 
Аватар для AKSENOV048
 
Регистрация: 03.08.2011
Сообщений: 74
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
Вообще-то, приведенный выше код просто выводит на лист список листов, как я говорил - это только пример. И при последующем запуске макроса список будет накапливаться.
Но ведь полученный однажды список, перед запуском кода можно очистить, вот тогда и будет нужное Вам обновление списка, при каждом запуске макроса.
а можно сделать чтобы макрос обновлял данные сразу при добавлении новых листов?
AKSENOV048 вне форума Ответить с цитированием
Старый 06.08.2011, 00:08   #24
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
опишите пожалуйста как так сделать подробней, буду очень благодарен!
Пока я писал ответ, уважаемый kuklp все расписал Вам самым подробным образом. )))
И дал готовый код.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 06.08.2011, 00:10   #25
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
можно сделать чтобы макрос обновлял данные сразу при добавлении новых листов?
можно
все можно
но приложите и Вы хоть чуть, чуть усилий
направление и коды Вам даны
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 06.08.2011, 00:15   #26
AKSENOV048
Пользователь
 
Аватар для AKSENOV048
 
Регистрация: 03.08.2011
Сообщений: 74
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
AKSENOV048, я что-то не вижу, что Вы чему-то учитесь. Кроме как задавать вопрос на разных форумах:"Ну что, никто не поможет?" Вставьте в модуль книги:
Код:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
    Call tt
End Sub

Private Sub Workbook_Open()
    Call tt
End Sub
Sub tt()
    Dim i&
    On Error Resume Next
    Me.Names("myshts").Delete
    Worksheets(1).[A:A].ClearContents
    For i = 1 To Sheets.Count
        Worksheets(1).Cells(i, 1) = Sheets(i).Name
    Next i
    Worksheets(1).[a1].CurrentRegion.Name = "myshts"
End Sub
Далее в нужной ячейке Данные-проверка-список-источник данных: =myshts
И все. Ничего не нужно запускать руками.

))) да учусь я учусь), просто для меня на самом деле пока все это сложно! я уже неделю точно каждый день спать ложусь часов в 5 ночи или это уже утром считается, сижу и читаю информацию что для чего, но пока мало успехов.

Спасибо вам за помощь!
сейчас попробую ваш вариант.
AKSENOV048 вне форума Ответить с цитированием
Старый 06.08.2011, 00:16   #27
AKSENOV048
Пользователь
 
Аватар для AKSENOV048
 
Регистрация: 03.08.2011
Сообщений: 74
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
можно
все можно
но приложите и Вы хоть чуть, чуть усилий
направление и коды Вам даны
)Ок!
Спасибо большое!
AKSENOV048 вне форума Ответить с цитированием
Старый 06.08.2011, 00:30   #28
AKSENOV048
Пользователь
 
Аватар для AKSENOV048
 
Регистрация: 03.08.2011
Сообщений: 74
По умолчанию

все отлично работает. только притормаживает при каждом переходе со страницы на страницу, так и должно быть?
AKSENOV048 вне форума Ответить с цитированием
Старый 06.08.2011, 00:41   #29
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

У меня не притормаживает, но если у Вас тормозит и если Вам не нужно обновлять список
Цитата:
при каждом переходе со страницы на страницу,
Закомментируйте
Код:
'Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
'    Call tt
'End Sub
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 06.08.2011, 00:44   #30
AKSENOV048
Пользователь
 
Аватар для AKSENOV048
 
Регистрация: 03.08.2011
Сообщений: 74
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
У меня не притормаживает, но если у Вас тормозит и если Вам не нужно обновлять список

Закомментируйте
Код:
'Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
'    Call tt
'End Sub
не помогло(
AKSENOV048 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DbGrid - Что то надо выключить...вот только что NitroSki БД в Delphi 12 01.07.2011 08:05
Надо дописать скрипт сохранения текстовой информации kakawkin PHP 3 17.09.2010 10:42
надо немного дописать... Acid Помощь студентам 2 21.05.2007 17:32