Если по простому то можно просто в Excel отобразить все формулы ((Ctrl+`) (в 2007 - Формулы / Зависимости формул / Показать формулы))скопировать и вставить в Word .
The truth is out there
Метод Hide - скрыть форму, а отобразить обратно?
Пользователь
Сообщений: Регистрация: 01.01.1970
10.04.2011 17:43:26
{quote}{login=The_Prist}{date=10.04.2011 05:08}{thema=}{post}Да, лучще выполнение всех долгих процедур в таком случае повесить не на событие Private Sub UserForm_Activate, а на Private Sub UserForm_Initialize Так все долгие операции выполнятся только один раз - при загрузке формы(первоначальном отображении), а остальные показы(после Hide) уже выполнятся не будут.{/post}{/quote} Можете в двух словах сказать почему лучше в данном случае использовать UserForm_Initialize, а не UserForm_Activate? Не потому что после использования Hide/Show форма заново загружается?
The truth is out there
Автоматический перенос данных из одних ячеек в другие
Пользователь
Сообщений: Регистрация: 01.01.1970
06.04.2011 22:33:16
Согласен со всеми вышесказанными замечаниями. И структура "неправильная", если только не визитки хотите делать, или совсем не для анализа данных. Я подумал, что можно сделать форму. Не спец, но накидал чуть-чуть, за образец, если подойдет, можно взять.
The truth is out there
vba: печать скрытого листа защищенной книги
Пользователь
Сообщений: Регистрация: 01.01.1970
10.01.2011 19:51:49
RAN и Юрий М - большое спасибо!!! Оба способа работают!!! И как надо!!! В ваших ответах много нового для себя открыл.
RAN только поменял (OnTime Now, "ЭтаКнига.GoBack") на (OnTime Now, "GoBack"), ошибку почему-то выдавало, что не может макрос найти. Первую часть вставил в модуль книги, а вторую в стандартный модуль процедур. Чтоб это узнать, откуда ошибка, пришлось форумы пошелестить :). Спасибо! Открыли для меня - OnTime Now
Юрий М Вы открыли для меня - Cancel = True Я про нее не знал, поэтому вчера вас и не понял.
Всем кто откликнулся - СПАСИБО!!!
The truth is out there
vba: печать скрытого листа защищенной книги
Пользователь
Сообщений: Регистрация: 01.01.1970
10.01.2011 06:16:24
Единственное, что я понял в этой теме дак это то, что мне явно не хватает теории.
The truth is out there
vba: печать скрытого листа защищенной книги
Пользователь
Сообщений: Регистрация: 01.01.1970
10.01.2011 02:14:25
Блин... Ничего не получается...
Если скрыть 1-ый и 2-ой лист, то 3-ий распечатывется как надо. Но теперь как вернуть все обратно 1 и 2 отобразить а 3 скрыть?
Если, как вы говорите, скрыть 1 и 2, отобразить 3, дать команду - печать, потом отобразить 1 и 2 и скрыть 3, то у меня это не работает. У меня печатать начинает когда код полностью выполнен. т.е. от чего ушли к тому и пришли 1 и 2 отображены, а 3 скрыт. И потом только печать почему-то. Посредине кода не хочет.
А можно макрос запустить просто ткнув в защищенный 3 лист? И уже этот макрос все поставит на свои места.
P.S. у меня вместо принтера стоит Snagit(утилита захвата экрана), поэтому я тут же пробую как это все в действии. А ничего не работает как надо.
The truth is out there
vba: печать скрытого листа защищенной книги
Пользователь
Сообщений: Регистрация: 01.01.1970
10.01.2011 00:16:43
Юрий М, давайте все по порядку:
Клавишей F8 пошагово смотрю, что происходит. 1. Нажимаю Print(на панели) 2. Начинает выполняться код, и отображает лист 3. Когда он доходит до PrintOut в коде, начинает выполнять команду сначала. 4. Потом лист скрывает 5. И когда доходит до End Sub печатает два листа. Получается 2 раза на печать отправляю. Вот второй не нужно печатать. А после End Sub никак команду не вставить. Может отменить как-то можно последнюю команду на печать? или прервать команду после того как первый раз отправляет на печать.
The truth is out there
vba: печать скрытого листа защищенной книги
Пользователь
Сообщений: Регистрация: 01.01.1970
09.01.2011 22:10:49
Сразу признаюсь, знания у меня не богатые. В событии Workbook_BeforePrint у меня написана команда, которая берет информацию с двух листов и с помощью камеры размещает их на третьем листе. Этот третий лист скрытый. Фокус получается в том что какой бы лист не был активен - всегда распечатывается третий. Так же и предварительный просмотр - всегда третий лист. И если в Workbook_BeforePrint добавить команду /отобразить лист/распечатать/скрыть, то это все выполняется без нареканий, но по завершении процедуры, распечатывется активный лист, в то время как третий уже скрыт. Т.е. или 1-ый или 2-ой. Private Sub Workbook_BeforePrint(Cancel As Boolean) ПодстройкаКамер Application.ScreenUpdating = False With Sheets("Отчет") Sheets("Отчет").Visible = -1: .PrintOut: .Visible = 0 'или 2 - если нужен очень скрытый лист End With Application.ScreenUpdating = True End Sub При таком коде печатается и 3-ий (который нужен) и еще один (который не нужен)
The truth is out there
vba: печать скрытого листа защищенной книги
Пользователь
Сообщений: Регистрация: 01.01.1970
09.01.2011 19:37:52
Все эти варианты решений подходят если команду привязать к кнопке. А если распечать скрытый лист стандартной кнопкой печати. Отобразить скрытый лист получается, но вот скрыть - нет. Печататься начинает после выполнения процедуры в модуле книги, т.е. после слов End Sub. И как после этого запустить команду скрыть лист?
Может не совсем понятно чего хочу, поэтому приложу файл. Набросал на скорую руку, прошу сильно не смеяться. Важно с печатью разобраться.
EducatedFool большое вам спасибо! УРА! Работает!!!
The truth is out there
Печать нескольких листов(sheet) на одной странице
Пользователь
Сообщений: Регистрация: 01.01.1970
23.10.2010 20:35:33
У меня 2007. Значек камеры я нашел, а свойства где ее искать?
The truth is out there
Печать нескольких листов(sheet) на одной странице
Пользователь
Сообщений: Регистрация: 01.01.1970
23.10.2010 20:13:00
{quote}{login=EducatedFool}{date=23.10.2010 07:32}{thema=}{post}Осталось написать макрос, который будет автоматически запускаться перед выводом на печать, и редактировать формулы в картинках на листе3 (подстраивая размеры камеры под нужный диапазон ячеек) Тот же макрос будет располагать 2-ю камеру на расстоянии 1см. ниже первой камеры,{/post}{/quote} Подскажите, а где найти эти настройки камеры. Тут, я, что-то ничего не понял. То что на 1см. ниже превой камеры, это то что нужно, а как это сделать? И макрорекордер не записывает вставку картинки "камеры" :( .
The truth is out there
Печать нескольких листов(sheet) на одной странице
Пользователь
Сообщений: Регистрация: 01.01.1970
23.10.2010 20:11:06
{quote}{login=EducatedFool}{date=23.10.2010 07:32}{thema=}{post}Осталось написать макрос, который будет автоматически запускаться перед выводом на печать, и редактировать формулы в картинках на листе3 (подстраивая размеры камеры под нужный диапазон ячеек) Тот же макрос будет располагать 2-ю камеру на расстоянии 1см. ниже первой камеры,{/post}{/quote} Подскажите, а где найти эти настройки камеры. Тут, я, что-то ничего не понял. То что на 1см. ниже превой камеры, это то что нужно, а как это сделать? И макрорекордер не записывает вставку картинки "камеры" :( . {quote}{login=Z}{date=23.10.2010 07:42}{thema=}{post}Как вариант для постоянного использования: создание выборки по запросу... Скажем имеем в Accesse постоянную связь с таблицами XL и запрос по ним - выполнили, распечататли, передали назад в XL и пр... 93962{/post}{/quote} Я, к сожаленью, не знаю Access.
The truth is out there
Печать нескольких листов(sheet) на одной странице
Пользователь
Сообщений: Регистрация: 01.01.1970
23.10.2010 19:23:58
Таблицы для примера привел, на их содержание внимания не обращайте. На что следует обратить внимание - это на то, что количество столбцов в обоих таблицах разное. И делать столбцы шириной по 5 пикселов, и объединением ечеек каждый раз рисовать нужную ширину - это не дело. Главное - возможно ли распечатать две таблицы с разных листов? В течение года таблица вырастет строк на 300, но для просмотра нужны будут только актульные, т.е. они будут отфильтрованы и этих строк и будет около 15. Ссылки тут вообще не подойдут. Опять их писать на определенное количество сток, а сколько их будет никто не знает. Может 1, а может 15.
P.S. Вопрос про печать со скрытого листа снимаю. ( )
The truth is out there
Печать нескольких листов(sheet) на одной странице
Пользователь
Сообщений: Регистрация: 01.01.1970
23.10.2010 13:26:35
Подскажите, как сделать так, чтобы было возможно распечатать две таблицы с разных листов (Excel) на одном листе (бумаги). Это необходимо лишь для экономии бумаги и тонера. Каждый день нужно руководителю давать отчет: "что, где, когда и почему". В отфильтрованных для печати таблицах не бывает много строк от 0 до 15. Сделал с помощью камеры, все хорошо, но таблица ограничена заранее введенным количеством строк. Если верхняя таблица больше 15, то она наезжает на нижнюю и часть данных скрывает. Если сделать группировку, то изображение в таблице сужается и несерьезно как-то получается. Подскажите, есть ли более интересный способ распечатать две таблицы на одном листе? Может имена диапазонам присвоить? И как распечатать со скрытого листа?
The truth is out there
Не могу закрыть окна с помощью закрытия приложения.
Пользователь
Сообщений: Регистрация: 01.01.1970
21.10.2010 09:44:29
У меня такая же история, только по 50 файлов я не открываю. А правым кликом пробовать песполезно потому что эта менюшка заблокирована, и ничего не остается как тыкать каждое окно. А еще потом как все книги закроешь, приходится закрывать и сам пустой эксель. Тоже раздражает.
The truth is out there
Как скопировать только значения из ячеек столбца, в которых введена формула?
Пользователь
Сообщений: Регистрация: 01.01.1970
15.10.2010 19:40:03
{quote}{login=Вано}{date=15.10.2010 07:27}{thema=Как скопировать только значения из ячеек столбца, в которых введена формула?}{post}{/post}{/quote} Копируете, вставляете куда хотите, и при этом обычно в нижнем правом углу появляется значек планшета с листом обозначающий вставку, кликните по нему и выберите - только значения. Все.
The truth is out there
Взаимосвязанные фильтры
Пользователь
Сообщений: Регистрация: 01.01.1970
15.10.2010 16:40:02
А я вот ничего не понял, и это не дает мне покоя. Объясните, какой результат вам нужен. Что бы когда нажимаешь на треугольник фильтра там небыло не относящихся к уже выбранному региону каналов? А для чего вам это? Пусть они там будут они же не мешают. Я понял так: Выбираем Регион - фильтруется несколько каналов. Нам нужно знать какие ТВ-компании есть у ТВ-каналов в Регионе который мы только что выбрали? Или же вам все-таки нужно, чтоб в выпадающем списке небыло ненужных каналов?
The truth is out there
Взаимосвязанные фильтры
Пользователь
Сообщений: Регистрация: 01.01.1970
14.10.2010 16:11:46
Вот так что ли?
The truth is out there
Взаимосвязанные фильтры
Пользователь
Сообщений: Регистрация: 01.01.1970
14.10.2010 15:38:31
{quote}{login=gurfinkel}{date=14.10.2010 03:24}{thema=}{post}Не пойму- этого нельзя сделать в экселе или просто никто отвечать не хочет?? Подобные темы искала по форуму, не особо удачно. может непонятно сформировала свой вопрос??{/post}{/quote} Это можно сделать с помощью фильтров сводной таблицы как у вас и написано. Вопрос то в чем? Пример кидайте, может вопрос понятней будет.
The truth is out there
Список в ComboBox по условиям
Пользователь
Сообщений: Регистрация: 01.01.1970
11.07.2010 01:06:37
{quote}{login=nilem}{date=08.07.2010 07:56}{thema=}{post}пп. 1-2 В этот же модуль добавляем это: Private Sub ComboBox1_Change() Dim Победитель As New Collection, pz As Range Me.ComboBox2.Clear With Sheets("Лист1") 'заполняем коллекцию Победителей On Error Resume Next: For i = 2 To .Cells(Rows.Count, 4).End(xlUp).Row If .Cells(i, 4) = "допущен" And .Cells(i, 2) = Val(ComboBox1.Value) Then Победитель.Add .Cells(i, 3), .Cells(i, 3).Text Next i: On Error GoTo 0 For Each pz In Победитель: ComboBox2.AddItem pz: Next pz ComboBox2.ListIndex = 0 ' 1-е значение в списке End With End Sub{/post}{/quote}
Красиво получилось. Большое спасибо!!! Второй комбоБокс сделаю таким же как и первый. Самое главное РАБОТАЕТ!!!
The truth is out there
Список в ComboBox по условиям
Пользователь
Сообщений: Регистрация: 01.01.1970
08.07.2010 18:39:00
Спасибо! По 1-му вопросу работает!!! {quote}{login=nilem}{date=08.07.2010 05:10}{thema=}{post} P.S. Не лучше вместо UserForm_Activate() использовать UserForm_Initialize()?{/post}{/quote} Если честно, я не знаю, я только учусь. Обязательно попробую. {quote}{login=nilem}{date=08.07.2010 05:10}{thema=}{post} For ii = 2 To .Cells(Rows.Count, 3).End(xlUp).Row If Not IsEmpty(.Cells(ii, 3)) Then ComboBox2.AddItem .Cells(ii, 3).Value: ComboBox3.AddItem .Cells(ii, 3).Value {/post}{/quote} Покороче чем у меня :). Сейчас буду методом проб и ошибок разбираться.
The truth is out there
Список в ComboBox по условиям
Пользователь
Сообщений: Регистрация: 01.01.1970
08.07.2010 16:35:19
У меня накопилось целая куча вопросов и по теме, и так, в догонку. Исходный код взял на этом сайте - спасибо авторам! Если кто откликнится, то прошу по возможности насписать комментарии, мне важно понять принцип работы. Я не студент, мне контрольную не сдавать, мне для себя. Разобраться хочу т.к. по этому же принципу необходимо еще несколько форм сделать. 1. Как сделать, так что бы в ComboBox "№ Аукциона" (см. файл) номера аукционов не повторялись 2. При выбранном номере аукциона в ComboBox "Победитель" отражались только со статусом "допущен" 3. При статусе аукциона "Завершен" номер аукциона не отражался в ComboBox "№ Аукциона" Так же не отражались Участники в ComboBox "Победитель" участвовавшие в аукционе у которого стоит статус "завершен" 4. И как можно сделать, чтобы в TextBox при вводе цены, она отражалась с точностью до сотых, и для удобства чтения с тысячными разделителями 5. Как сделать, чтобы в окна для чисел вводились только числа, а текст было невозможно ввести
The truth is out there
2 типа гистограммы на 1 графике
Пользователь
Сообщений: Регистрация: 01.01.1970
13.02.2010 00:18:21
The truth is out there
Объединить информацию двух файлов с разной датой в один
Пользователь
Сообщений: Регистрация: 01.01.1970
22.11.2009 20:35:47
{quote}{login=Юрий М}{date=19.11.2009 09:00}{thema=}{post}Язычник, у меня вопрос: то, что один файл имеет более позднюю дату изменений,- понятно. А вот как по ячейкам узнать КОГДА было изменение. Как Excel поймёт, что ВОТ ЭТА ячейка менялась позже?{/post}{/quote} Я думаю, что если в более новом файле (01.10.09.) ячейка А1 пустая, а в старом файле (01.07.09.) она НЕпустая. То в результате слияния в еще более новый файл она и должна остаться НЕпустая. Макрос может и не понимает по дате файла, но он различает названия файлов. =ЕСЛИ('[01.10.09..xls]Лист1'!A1="";'[01.07.09..xls]Лист1'!A1;'[01.10.09..xls]Лист1'!A1) Как сделать это макросом я не знаю. Но это же реально! При условии, конечно, что, я все правильно понял, чего хочет Язычник.
The truth is out there
Закраска ячеек в бланке
Пользователь
Сообщений: Регистрация: 01.01.1970
22.11.2009 18:14:18
{quote}{login=vlad3622340}{date=22.11.2009 12:39}{thema=Закраска ячеек в бланке}{post} Как можно эти ячейки закрасить, чтобы выделить, но так, чтобы на печати заливки не было?{/post}{/quote}
Что-то Вы, мне кажется, всё усложнили. В свойствах печати, есть настройка "черно-белая печать". Галочку ставите и всё.
The truth is out there
Обработка данных бланка в таблицу
Пользователь
Сообщений: Регистрация: 01.01.1970
22.11.2009 17:58:43
Я не совсем понял, что имел ввиду Тухачевский, но там действительно можно все формулами разрулить. А макрос в сводную все сольет.
The truth is out there
Проверить столбец
Пользователь
Сообщений: Регистрация: 01.01.1970
21.11.2009 21:57:33
Спасибо The_Prist! Только тогда s = Range("A1") надо поменять на s = Range("B1") и еще проблемка: если в списке уже есть договор с номером 123, и мы хотим ввести договор с номером 12, он скажет, что такой уже есть.
The truth is out there
Проверить столбец
Пользователь
Сообщений: Регистрация: 01.01.1970
21.11.2009 21:22:39
Таблица имеет столбцы: 1 - номер договора, 2 - предмет договора и т.д. Как проверить в столбце 1 есть ли в нем номер договора, если нету - можно добавлять. Если уже есть, вывести предупредительное сообщение об этом и остановить выполнение макроса. (Добавляется макросом, поэтому и добавляются повторяющиеся номера)
Есть фрагмент кода который находит и выделяет ячейку, а если не находит то ничего не делает. Как его подправить?
Sub Проверка() Dim s As Variant s = Range("A1") ' номер договора наличие которого необходимо проверить Dim c As Range Set c = Range("A3:A65536").Find(s & "*", , , xlWhole) If Not c Is Nothing Then c.Select End Sub
P.S. Еще он находит если данные в ячейке начинается на те символы которые указаны в А1, а необходимо чтоб было полное соответствие. Помогите!