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

Вход

Регистрация

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

 

= Мир MS Excel/Получить номер первой пустой ячейки из другого файла. - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Получить номер первой пустой ячейки из другого файла. (Макросы/Sub)
Получить номер первой пустой ячейки из другого файла.
AVI Дата: Понедельник, 07.11.2016, 08:44 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 174
Репутация: 6 ±
Замечаний: 0% ±

Excel 2013
Добрый день!
Прошу Вас помочь с макросом.
У меня формируется название файла. Формата "***,..." где *** - это номер первой пустой строки из реестра (из другого файла).
Это номер у меня ловится через формулу
Код
=ПОИСКПОЗ(ИСТИНА();('\\fkr-data\DATA_USER\Отдел правовой и договорной работы\[Реестр соглашений.xlsx]Лист1'!$A$1:$A$5004="");ЛОЖЬ())"

Что бы эта формула срабатывала перед формированием названия файла я забил в макрос обновление связей, а уже дальше остальные действия.
[vba]
Код
Sub Макрос3()
    ActiveWorkbook.RefreshAll
    Call Макрос2
    Call copyRow
    End Sub
[/vba]
Но почему-то связи больше не обновляются даже если я буду нажимать кнопку "обновить связи" из книги эксель.
Этот номер обновляется только если открыть и закрыть сам реестр, куда и ссылается вышеописанная формула.
Вопрос. Можно ли вместо [vba]
Код
ActiveWorkbook.RefreshAll
[/vba] и формулы вставить макрос, что бы сначала ловился номер первой пустой ячейки из диапазона
Код
[Реестр соглашений.xlsx]Лист1'!$A$1:$A$5004
а потом выполнялось [vba]
Код
Sub Макрос3()
    Call Макрос2
    Call copyRow
    End Sub
[/vba]
Возможно ли без файла это сделать?


Сообщение отредактировал AVI - Понедельник, 07.11.2016, 09:13
 
Ответить
СообщениеДобрый день!
Прошу Вас помочь с макросом.
У меня формируется название файла. Формата "***,..." где *** - это номер первой пустой строки из реестра (из другого файла).
Это номер у меня ловится через формулу
Код
=ПОИСКПОЗ(ИСТИНА();('\\fkr-data\DATA_USER\Отдел правовой и договорной работы\[Реестр соглашений.xlsx]Лист1'!$A$1:$A$5004="");ЛОЖЬ())"

Что бы эта формула срабатывала перед формированием названия файла я забил в макрос обновление связей, а уже дальше остальные действия.
[vba]
Код
Sub Макрос3()
    ActiveWorkbook.RefreshAll
    Call Макрос2
    Call copyRow
    End Sub
[/vba]
Но почему-то связи больше не обновляются даже если я буду нажимать кнопку "обновить связи" из книги эксель.
Этот номер обновляется только если открыть и закрыть сам реестр, куда и ссылается вышеописанная формула.
Вопрос. Можно ли вместо [vba]
Код
ActiveWorkbook.RefreshAll
[/vba] и формулы вставить макрос, что бы сначала ловился номер первой пустой ячейки из диапазона
Код
[Реестр соглашений.xlsx]Лист1'!$A$1:$A$5004
а потом выполнялось [vba]
Код
Sub Макрос3()
    Call Макрос2
    Call copyRow
    End Sub
[/vba]
Возможно ли без файла это сделать?

Автор - AVI
Дата добавления - 07.11.2016 в 08:44
_Boroda_ Дата: Понедельник, 07.11.2016, 09:16 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 9348
Репутация: 3922 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Ваша формула - формула массива. Если у Вас в столбце А последовательное заполнение и нужно найти последнюю, то попробуйте формулу
Код
=СЧЁТЗ('\\fkr-data\DATA_USER\Отдел правовой и договорной работы\[Реестр соглашений.xlsx]Лист1'!$A$1:$A$5004)+1

Хотя не, та формула тоже срабатывает
Тогда просто тпнитесь в свою формулу макросом
[vba]
Код
    Range("A1").FormulaLocal = Range("A1").FormulaLocal
    Range("B3").FormulaArray = Range("B3").FormulaArray
[/vba]
В А1 - моя формула
В В3 - Ваша


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВаша формула - формула массива. Если у Вас в столбце А последовательное заполнение и нужно найти последнюю, то попробуйте формулу
Код
=СЧЁТЗ('\\fkr-data\DATA_USER\Отдел правовой и договорной работы\[Реестр соглашений.xlsx]Лист1'!$A$1:$A$5004)+1

Хотя не, та формула тоже срабатывает
Тогда просто тпнитесь в свою формулу макросом
[vba]
Код
    Range("A1").FormulaLocal = Range("A1").FormulaLocal
    Range("B3").FormulaArray = Range("B3").FormulaArray
[/vba]
В А1 - моя формула
В В3 - Ваша

Автор - _Boroda_
Дата добавления - 07.11.2016 в 09:16
AVI Дата: Понедельник, 07.11.2016, 09:22 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 174
Репутация: 6 ±
Замечаний: 0% ±

Excel 2013
    Range("A1").FormulaLocal = Range("A1").FormulaLocal

В формуле есть ссылка файл реестра, а в макросе нет. Так и должно быть? Макрос срабатывает в одном файле "сводная", а номер пустой берет из файла
Код
\\fkr-data\DATA_USER\Отдел правовой и договорной работы\[Реестр соглашений.xlsx]Лист1'!$A$1:$A$5004

АА, то есть маркос заставляет обновляться формулу, которая находится в ячейке А1 (В3)


Сообщение отредактировал AVI - Понедельник, 07.11.2016, 09:24
 
Ответить
Сообщение
    Range("A1").FormulaLocal = Range("A1").FormulaLocal

В формуле есть ссылка файл реестра, а в макросе нет. Так и должно быть? Макрос срабатывает в одном файле "сводная", а номер пустой берет из файла
Код
\\fkr-data\DATA_USER\Отдел правовой и договорной работы\[Реестр соглашений.xlsx]Лист1'!$A$1:$A$5004

АА, то есть маркос заставляет обновляться формулу, которая находится в ячейке А1 (В3)

Автор - AVI
Дата добавления - 07.11.2016 в 09:22
Nic70y Дата: Понедельник, 07.11.2016, 09:32 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3475
Репутация: 722 ±
Замечаний: 0% ±

Excel 2013
[vba]
Код
    Calculate
[/vba]вдруг правильно


ЯД(poison) 41001841029809
+7 978 049 98 74 (мтс)
 
Ответить
Сообщение[vba]
Код
    Calculate
[/vba]вдруг правильно

Автор - Nic70y
Дата добавления - 07.11.2016 в 09:32
_Boroda_ Дата: Понедельник, 07.11.2016, 09:51 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 9348
Репутация: 3922 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
АА, то есть маркос заставляет обновляться формулу, которая находится в ячейке А1 (В3)

Совершенно верно


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
АА, то есть маркос заставляет обновляться формулу, которая находится в ячейке А1 (В3)

Совершенно верно

Автор - _Boroda_
Дата добавления - 07.11.2016 в 09:51
AVI Дата: Понедельник, 07.11.2016, 10:34 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 174
Репутация: 6 ±
Замечаний: 0% ±

Excel 2013
_Boroda_, Спасибо) работает!
 
Ответить
Сообщение_Boroda_, Спасибо) работает!

Автор - AVI
Дата добавления - 07.11.2016 в 10:34
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Получить номер первой пустой ячейки из другого файла. (Макросы/Sub)
Страница 1 из 11
Поиск:

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