Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Лишнее копирование имен при копировании листа
 
Цитата
vikttur написал:
Не сомневайтесь, пробуйте.
Попробовал удалять имена со ссылками на файл-источник, получилось. Но оказалось, что копируются и еще некоторые имена, которые не содержат явных ошибок и еще являются скрытыми. Пришлось их тоже поименно удалять.

Проблема для меня актуальная. Хотелось бы сделать так, чтобы при создании копии листа в другую книгу, переносились только имена, имеющие область "имя копируемого листа".
На одном листе для страниц разные настройки полей
 
Можно попробовать сделать кнопку "Печать". По нажатию кнопки устанавливать макросом поля для первой страницы, печатать ее, потом поля для второй страницы и печатать ее. Но тут уже будут проблемы с автоматической двусторонней печатью (только вручную).
накопительный ВПР с учетом повторов и даты
 
Не совсем понятна суть задачи. В хотите в правую таблицу каждый день добавлять дату/имена и значения, чтобы они разносились в левую таблицу?
На одном листе для страниц разные настройки полей
 
А зачем так? Может имеет смысл разноформатные таблицы разместить на отдельных листах?
Лишнее копирование имен при копировании листа
 
Имеется "Книга из которой копируется лист", содержащая три листа (просто пример, реально нужно копировать листы из другой книги, с очень большим количеством имен, в том числе имен, содержащих ошибки.

Книга содержит три имени (Формулы>>Диспетчер имен):
- Диапазон 1 - ранее был задан на листе "Лист1" с областью "Книга". Строчки были удалены, теперь содержит #ОШИБКА;
- Диапазон 2 - существует на листе "Лист1", область "Книга";
- Диапазон 3 - существует на листе "Лист3", область "Лист3";

При копировании листа "Лист2" в новую книгу (ПКМ>>Переместить или скопировать...>>В новую книгу + галочка "Создать копию")  автоматически в новую книгу копируется имя "Диапазон1". Вероятно потому, что оно имеет область "Книга" и содержит ошибки. Причем оно ссылается на файл-источник.

Вопрос: Зачем оно туда копируется и можно ли это как-то отключить?

П.С.: Исходную книгу делал не я, не хочу/могу удалять из нее никакие-либо имена. Вариант с удалением из новой книги при помощи макроса имен, ссылающихся на книгу-источник, после копирования листов я попробую, но хотелось бы обойтись без него.

Спасибо!
Запрос данных функцией VLookup из закрытого файла, Аналог функции ВПР
 
Не работает если ActiveCell.Value содержит спецсимволы, например кавычки. Возможно именно поэтому не работал и первоначальный вариант, а не только из-за пути.
Запрос данных функцией VLookup из закрытого файла, Аналог функции ВПР
 
Спасибо! Нашел работающий вариант
Код
ExecuteExcel4Macro("VLOOKUP("& ActiveCell.Value & ",'\\Путь\[Книга.xls]Лист1'!C1:C2,2,FALSE)")

Лучше еще вначале добавить проверку на наличие ошибки, если соответствие не будет найдено:
Код
If ExecuteExcel4Macro("ISERROR(VLOOKUP("& ActiveCell.Value & ",'\\Путь\[Книга.xls]Лист1'!C1:C2,2,FALSE))")=False Then

   ExecuteExcel4Macro("VLOOKUP("& ActiveCell.Value & ",'\\Путь\[Книга.xls]Лист1'!C1:C2,2,FALSE)")

End If
Изменено: dmention - 30.08.2017 10:17:42
Запрос данных функцией VLookup из закрытого файла, Аналог функции ВПР
 
iMrTidy, спасибо! Надеялся, что все-таки есть способ заставить это работать без промежуточных действий.
Запрос данных функцией VLookup из закрытого файла, Аналог функции ВПР
 
Есть функция ВПР, которая отлично подтягивает данные из закрытых файлов.

Пример: в закрытом файле "Книга1".xls на листе "Лист1" содержится некий справочник, содержащий столбцы Номер и Значение.

Тогда в другом файле можно прописать =ВПР(A1;'Путь\[Книга1.xls]Лист1'!$A:$B;2;ЛОЖЬ) и получить значение из второго столбца, соответствующее значению в ячейке A1.

Если я хочу прописать тоже самое в макросе, например:
Код
Application.WorksheetFunction.VLookup(ActiveCell.Value,"Путь\[Книга1.xls]Лист1'!$A:$B",2,false)
, то он выдает ошибку "Невозможно получить свойство VLookup...". Причем при обращении к себе самому работает. См. приложенный файл и макрос в нем.

Как правильно в данном случае прописать путь к закрытому файлу или может есть более простой способ это реализовать?

Спасибо!
Некорректно происходит вставка диапазона данных из Excel в Word
 
1. А при вставке руками?

2. У меня при работе со строками таблиц Word сбой происходил если документ Word находился в режиме "Разметка страницы". Попробуйте перевести шаблон документа Word в режим "Черновик" перед вставкой данных. Закладка "Вид", кнопка "Черновик." Если после закрытия шаблона вид меняется на "Разметка страницы" при повторном открытии, то нужно прописать переключение вида в макросе перед вставкой таблицы.
Обращение к UserForm из другого файла, в т.ч управление элементами формы
 
Цитата
yozhik написал:
Т.е. форму Вы в любом случае должны запустить и поместить в текстбокс какое-то значение
В том и вопрос как это сделать? Я не понимаю как именно обращаться к элементам формы из другого файла.
Обращение к UserForm из другого файла, в т.ч управление элементами формы
 
Цитата
yozhik написал:
Call Application.Run("Форма.xls!Module1.shw")
Цитата
yozhik написал:
сами события по-любому будут в модуле формы - CommandButton_Click()
Хотелось бы объединить две эти вещи и сделать так:
Код
Call Application.Run("Форма.xls!UserForm1.CommandButton_Click")
Но так не работает ((
Как запустить непосредственно событие нажатия кнопки? Может перед этим нужно запустить какое-то событие, например загрузить форму?
Обращение к UserForm из другого файла, в т.ч управление элементами формы
 
Цитата
yozhik написал:
событие в модуле 1 с UserForm1.Show
А события формы хранятся в модуле 1 или в "модуле формы"?
Обращение к UserForm из другого файла, в т.ч управление элементами формы
 
Цитата
Al-dozor написал:
К процедурам другой книги обращайтесь через Call.
Вы могли бы написать синтаксис. Я перепробовал кажется все варианты. Но к процедурам формы из другого файла обратиться не могу. Могу вызывать процедуры из Module1, но не из UserForm1. Даже прицеплял через Tools>>References... VBA проект книги с формой в книгу из которой хочу запускать процедуры обработчиков событий формы. Видимо что-то делаю не так.

Буду очень признателен!

Еще пробовал через Sendkeys "имитировать" ввод значений, нажатие кнопок и перемещение по форме с помощью TAB. Но, работа макроса прерывается после открытия формы и продолжается после ее закрытия. Можно это как-то обойти?
Изменено: dmention - 22.06.2017 08:44:22
Обращение к UserForm из другого файла, в т.ч управление элементами формы
 
Добрый день!

Имеется файл с формой (прилагаю). Необходимо макросом из другой книги "имитировать" открытие формы в этом файле, ввод значения в текстовое поле, и нажатие кнопки "Сохранить".

Подскажите, пожалуйста, каким образом из другого файла можно обращаться к форме и ее элементам, а так же к процедурам, обрабатывающим события элементов формы.


Спасибо!
Точность вычислений Excel, A-B-C <> A-(B+C)
 
Цитата
vikttur написал:
Обойти - округляйте, где нужно.
Округлять не вариант.

Заметил, что если встать в ячейку с любым из трех значений и еще раз его ввести (Enter), то оба результата пересчитаются и занулятся.
Это как объяснить?
Точность вычислений Excel, A-B-C <> A-(B+C)
 
Есть три числа A, B, C.
Результат A-B-C и A-(B+C) разный. (см. приложенный файл).
Вероятно связано с точностью представления чисел.
Почему возникает разница и как обойти? Нужно чтобы результат был одинаковый = 0.
Многоуровневый нумерованный список подобно Word, Автонумерация строк таблицы
 
Как в Excel создать удобную автонумерацию строк таблицы, чтобы при вставке строк пересчитывалась нумерация всех пунктов после вставленного?

Пример:
1.
1.1.
1.1.1.
1.1.2.
2.
3.
3.1.
3.2.

Чтобы при вставке/удалении строки пересчитывалась нумерация.
Как макросом снять/установить пароль на VBA проект?
 
Цитата
The_Prist написал:
Нет. Как Вы себе это представляете? Сами пишите:

Я привел две цитаты разных авторов. Отвечаю каждому на соответствующее предложение. Рассматриваю оба варианта. Ни от одного не могу отказаться по ка нет удовлетворяющего решения.
Как макросом снять/установить пароль на VBA проект?
 
Цитата
Karataev написал:
dmention, а где у Вас макросы находятся? В личной книге макросов, в файле Excel, в Excel надстройке?
Желательно хранение макроса в самой книге. Книга должна быть полнофункциональна даже при переносе например на ноутбук из корпоративной сети или автономной работе без любой сети даже интернет. Но, чтобы при подключении к источнику обновлений (образно), ее можно было обновить.
Цитата
The_Prist написал:
Лучше всего все коды хранить в надстройке, а её уже на сетевой диск. Потом останется лишь в ней менять код и все.
Можно ли файл ссылать на конкретный файл с надстройкой, который будет подгружаться при открытии первого файла или нужно будет чтобы файл с надстройкой автоматически подгружался при запуске Excel из XLStart? Просто таких файлов с надстройками может получиться очень много. Открывать все при запуске Excel не вариант.
Изменено: dmention - 16.11.2016 10:20:15
Как макросом снять/установить пароль на VBA проект?
 
Есть вообще какой-то здравый выход из ситуации? Хотя-бы на будущее. Например хранить код в некоем внешнем модуле, чтобы поменять его в одном файле, а не в тысяче или еще какой-нибудь вариант. Задача наверное не у меня первого появилась?!
Изменено: dmention - 15.11.2016 15:33:43
Как макросом снять/установить пароль на VBA проект?
 
Может быть можно заменить в файле модуль или VBA проект в целом на скорректированный?
Как макросом снять/установить пароль на VBA проект?
 
Цитата
Karataev написал: у объекта "VBProject" нет членов для снятия и установки пароля
Как в таком случае поступать? Не защищать проект не вариант.
Как макросом снять/установить пароль на VBA проект?
 
Имеется набор однотипных файлов "Книга Изменяемая.xls", в каждом из которых есть одинаковый VBA проект, защищенный паролем. Пароль известен.
Необходимо в каждый файл "Книга Изменяемая.xls" макросом из книги "Книга Изменяющая.xls" внести изменения (добавить строку).
Пароль для файла "Книга Изменяемая.xls" - "1".

Как получить доступ к VBA проекту, снять пароль и если потребуется его снова устанавливать, установить его обратно?

В интернете описан способ через программный ввод пароля в окно снятия пароля, но это очень ненадежный и несколько извращенный способ. Есть способ более надежный?

Спасибо всем, кто откликнется!
Выделение макросом строк, в которых имеются объединенные ячейки, Диапазон выделенных строк автоматически расширяется по высоте до краев объединения ячеек
 
Спасибо за советы! Попробую.
Выделение макросом строк, в которых имеются объединенные ячейки, Диапазон выделенных строк автоматически расширяется по высоте до краев объединения ячеек
 
Например, чтобы навставлять необходмое количество одинаковых строк между строками 2 и 3.
Выделяю строку 3, копирую, вставляю.
Или например, чтобы изменить высоту или цвет определенных строк.
Изменено: dmention - 31.10.2016 12:53:59
Выделение макросом строк, в которых имеются объединенные ячейки, Диапазон выделенных строк автоматически расширяется по высоте до краев объединения ячеек
 
Перепробовал все. Не могу найти решения. Есть ли другие способы выделения строк?
Очистка данных в диапазоне игнорируя защищённые ячейки
 
Очищает незащищенные ячейки в выделенном диапазоне:
Код
Sub Clear_Contets()
Dim rRange As Range, rCell As Range
Set rRange = Excel.ActiveWindow.Selection ' или в Вашем случае = Range("G20:AA49")
For Each rCell In rRange
    If rCell.Locked = False Then rCell.ClearContents
Next rCell
End Sub
Изменено: dmention - 27.10.2016 15:16:22
Выделение макросом строк, в которых имеются объединенные ячейки, Диапазон выделенных строк автоматически расширяется по высоте до краев объединения ячеек
 
Добрый день!
В таблице (на листе) имеются объединенные ячейки, например B1:B4.
Необходимо макросом выделить строки 2:3.
Записываю действия в макрос.
Получаю:
Код
Rows("2:3").Select

Выполняю макрос. Результат - выделены строки с 1 по 4.
Диапазон выделенных строк автоматически расширяется по высоте до краев объединения ячеек.
Как это обойти?

Спасибо!
Изменено: dmention - 31.10.2016 13:36:13
Страницы: 1
Loading...