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

Страницы: 1
Работенка для знатоков Excel.
 
Кафтан не мой (с)  
Но может кому сгодится...  
http://www.free-lance.ru/projects/?pid=913288
VBA. Как проверить наличие подписей на Диаграмме?
 
собственно сабж.  
Как проверить наличие подписей на Диаграмме используя VBA?  
то бишь присутствует ли в коллекции ActiveChart.SeriesCollection(1) объект Datalables ?
Пишу потиху тесты на знание Excel. Есть трабла.
 
Хочу проверить как пользователь умеет пользоваться средством "Найти и заменить".  
Есть таблица с набором числовых данных.  
Нужно найти и заменить все числа 84.  
 
Мой вариант решения во вложенном файле.  
Там делается проверка конкретных ячеек на наличие произведенной замены, но не учитывается, что пользователь может все поменять ручками  
 
При тестировании на "кроликах", находились эти самые "кролики", которые не использовали встроенный функционал Excel-я, а искали и меняли все ручками.  
 
Как можно отследить, что поиск-замена была произведена именно
Excel 2007. Трабла с циклом.
 
Во вложении файлик с одним макросом  
В цикле пробегаю по ячейкам A4:A1952 и ищу совпадение с ячейкой A2, дабы потом выполнить определенные действия.  
В excel 2003 эта конструкция нормально работала, а в 2007 совпадений не находит.  
 
Помогите найти где беда, плиз.
Заполнение именованного диапазона датами.
 
Есть задачка заполнить именованный диапазон в столбце А:А, начиная с А4, датами выбранного месяца  
Допустим, выбрали в ячейке А3 январь 2010 и ячейки А4:А35 именованного диапазона заполнились датами с 01.01.2010 по 31.01.2010 включительно.  
 
Как это сделать, можно тезисами, дальше сам.  
Просто никак не соображу как это организовать...
Сбоит VBA-шный код в Excel 2007
 
Решил переходить с 2003 на 2007 Excel.  
Переношу свой проект, созданный в Excel 2003.  
Открываю его и сразу начинают валить ошибки в кусках кода, где используется функция format.  
Например:  
ComboBox1.AddItem Format("1." & m & ".2000", "mmmm")  
 
Подсвечивает слово Format и пишет:  
Compile error:  
Can't find project or library  
 
с чего бы вдруг? Чего ему нехватает?
Помогите правильно написать запрос к Access
 
есть такая строка запроса  
sqlstr = "SELECT  [Data Log # 1].[kVAh TOTAL] FROM [Data Log # 1] WHERE StringTime = " & Param & ""
как видно в запрос идет одна переменная Param, которая содержит время.  
в свою очередь    
Param = Replace(Format((Worksheets("Data").Range("A2")), "MM/DD/YY  hh:mm:ss"), ".", "/")  
 
в Watches смтрю строка запроса, она вот такая  
"SELECT  [Data Log # 1].[kVAh TOTAL] FROM [Data Log # 1] WHERE StringTime = 12/04/09 14:30:00"
но по правилам синтаксиса Accessa время должно быть указано в ""  
то бишь запрос должен быть вида  
"SELECT  [Data Log # 1].[kVAh TOTAL] FROM [Data Log # 1] WHERE StringTime = "12/04/09 14:30:00""
 
как это сделать?  
чет никак не соображу
как принудительно задать нужный формат даты
 
на листе в ячейке Worksheets("Data").Range("A2") имеем формат ДД.ММ.ГГГГ ч:мм  
для дальнейшей работы мне в макросе нужно иметь след. формат MM/DD/YY  hh:mm:ss (именно со слешем прямым)  
пишу  
ParamB = Format((Worksheets("Data").Range("A2")), "MM/DD/YY  hh:mm:ss.000")  
и получаю MM.DD.YY  hh:mm:ss  
 
Вопрос  
Как всетаки установить принудительно нужный формат?
Печать диаграмм
 
Есть на листе 6 диаграмм.  
Нонче печатаю их вот так  
For i = 1 To Worksheets("Сводная").ChartObjects.Count  
   With Worksheets("Сводная").ChartObjects(i).Chart  
       .PrintOut Copies:=1, Collate:=True, Preview:=False  
   End With  
Next  
 
Хотелось бы их печатать не в цикле и без предпросмотра  
а всей пачкой с предварительным просмотром  
типа как листы  
Sheets(Array("Лист1", "Лист2")).Select  
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, Preview:=True    
 
Как это сделать? и возможно ли это?
Не работает функция КОНМЕСЯЦА.
 
В надстройках пакеты анализа включены.  
 
в ячейке A36 записана дата 01.02.2008 в формате ДД.ММ.ГГГГ  
 
в ячейке А37 формула =конмесяца(A36;1)  
 
в итоге имеем ошибку #ИМЯ?  
 
что за фигня такая?
Объединение текста и даты в ячейке. Проблема
 
формула  
="Дата подачи заявления: "&ТЕКСТ(B4;"дд.мммм.гггг")  
в B4 имеем    
05.06.2007  
 
на выходе должно быть  
Дата подачи заявления: 05.июня.2007  
 
однако имею вот что  
Дата подачи заявления: 05.00.2007  
 
С чего бы вдруг?  
взят пример из стандартной справки Excel  
 
Юзаю Excel 2003
TextBox.BackColor работает криво. Где беда?
 
Есть форма.  
На форме куча текстбоксов, некоторые из них нужно раскрашивать в зависимости от значений, получаемых с листа книги.  
использую код формы такой  
 
Private Sub TextBox21_Change()  
If TextBox21.Value <= "0" Then TextBox21.BackColor = RGB(0, 255, 0)  
If TextBox21.Value > "0" And TextBox21.Value < "2,0" Then TextBox21.BackColor = RGB(255, 255, 0)  
If TextBox21.Value >= "2,0" Then TextBox21.BackColor = RGB(255, 0, 0)  
End Sub  
 
то бишь предполагается, что если значение, полученное из книги, меньше 0, то текстбокс заливается зеленым цветом  
если значение в диапазоне от 0 до 2 - то желтым  
если больше 2 - красным.  
 
Баг.  
Если значение находится в диапазоне от 10 до 20, от 100 до 200, от 1000 до 2000 - то оно тоже подсвечивается желтым - что есть неправильно!  
 
Где собака порылась?
Создание структуры каталога. Оптимизация кода.
 
Задача.  
Есть файлик, который таскает данные из MS SQL и формирует отчет за определенные пользователем промежутки.  
Файлик будет разослан по заводской сети заинтересованным пользователям.  
И у каждого пользователя он будет лежать где угодно. Притом часть компьютеров "тонкие клиенты".  
В файлике реализована возможность сохранения полученного отчета в "сухое место" и соответственно у каждого пользователя нужно создать СВОЕ "сухое место".  
В дороге вчера набросал такой код.  
Вопрос  
Можно ли его окультурить?  
 
ЗЫ  
в таком виде он работает, но переходы GoTo не втуляют.
Выпадающий список и картинки в примечании.
 
Как сделать выпадающий список - известно.    
http://www.planetaexcel.ru/tip.php?aid=34  
Как сделать картинки в примечании - тоже.  
http://www.planetaexcel.ru/tip.php?aid=40  
1. делаю нумерованный список  
2. вставляю в примечание к одной из ячеек картинку  
3. делаю выпадающий список через меню Данные - Проверка (Data - Validation).  
 
Проверяю.  
При выборе 1 (значение ячейки с картинкой в примечании) примечания нет.  
А хотелось бы.  
Можно ли это сделать? Желательно без макросов.
ADO DB, Excel 2003, MS SQL Трабла.
 
Из Excel 2003 к базе MS SQL 2005 DE посредством ADO DB в цикле осуществляется большое количество запросов.  
Запрос таков  
sqlstr = "SELECT [kVAh TOTAL] as [" & columnName & "] FROM " & Replace(columnName, ".", "_") + " WHERE StringTime = " + Param + ""
Результат записывается в определенную ячейку.  
Все проходит циклом.  
Когда было 1500 запросов - все было ОК  
при увеличении количества запросов коннект к БД отваливается где-то на 3500-ом запросе(SQL-сервер не существует или отсутствует доступ). При этом в логах сервера ничего не нахожу и сервер остается доступным (я в нем статистику в этот момент смотрю)  
Пробовал играться паузами на каждом проходе цикла - помогает, но не особо.  
Чтобы это могло быть? может кто-то уже сталкивался с таким?  
Может я чего-то недосмотрел или незнаю?  
 
Упреждая вопрос а почему бы не сделать запрос вида:  
SELECT [kVAh TOTAL] as [" & columnName & "] FROM " & Replace(columnName, ".", "_") + " WHERE StringTime between " + Param1 + " and " + Param2 + ""
скажу, что в таблицах может по разным причинам данных и это нужно показать (в примере это ячейки С45:С49 и т.д.), потому я решил строчить кучу запросов подставляя только разные параметры.  
 
Пример во вложении.  
Там видно что процесс завершился на ~ 3700 запросе...
Заполнить ячейки датами.
 
Есть дата начала (ParamBegin) и дата окончания (ParamEnd) в формате yyyy-mm-dd hh:mm  
нужно заполнить ячейки в столбце "С" датами в след. виде  
 
ParamBegin  
2009-08-18 05:00  
2009-08-18 10:00  
ParamEnd  
 
то бишь в каждую следующую ячейку столбца записать дату и время на 5 минут больше предыдущей  
 
никак не соображу, помогите плиз
Тестирование коннекта к БД MS SQL
 
есть кучка запросов к БД (352 штуки), выполняемых в цикле.  
обработчиков ошибок пока нет никаких.  
Ситуация - нет коннекта к БД. MS SQL 352 раза предлагает подключится к другому серверу.  
Как обработать такую ситуевину?
Связка Прогрес-бар + кучка запросов к БД. Не работает.
 
Есть замечательный прогресс-бар от EducatedFool http://www.programmersforum.ru/showthread.php?p=148631. + да и тут он был (в погибших темах)  
 
Пытаюсь связать работу прогресс-бара с выполнением 352 запросов к БД (которые выполняются около 10-12 секунд).  
 
кусок кода вот такой  
Код:  
 
   Dim pi As New ProgressIndicator  
   Dim cell As Range  
   pi.Show "Получение данных из БД": pi.ShowPercents = True  
   pi.StartNewAction 0, 50, "Ждите, идет обработка..."  
   pi.CurActionCount = [c2:fv2].Cells.Count:
     
   For Each cell In [c2:fv2].Cells
       cell.Select: ActiveCell.QueryTable.Refresh BackgroundQuery:=True  
   Next  
     
   pi.StartNewAction 50, 100, "Ждите, идет обработка..."  
   pi.CurActionCount = [c5:fv5].Cells.Count:
     
   For Each cell In [c5:fv5].Cells
       cell.Select: ActiveCell.QueryTable.Refresh BackgroundQuery:=True  
   Next  
   pi.Hide  
 
сами запросы располагаются в ячейках С2:FV2 и C5:FV5  
 
В данном виде макрос исправно пробегает по всем ячейкам, прогресс бар отрабатывает эту "пробежку", но ячейки с запросами не апдейтятся...  
Где засада?  
Чую, что в ActiveCell.QueryTable.Refresh BackgroundQuery:=True, но....
Трабла с сохранением книги.
 
Есть кусок кода, который сохраняет выделенные листы в новую книгу Excel-я.  
 
NameBegin = Range("E1")  
NameEnd = Range("G1")  
CurrMonth = Month(Now)  
CurrYear = Year(Now)  
   Sheets(Array("Summary", "Line 1", "Line 2")).Select ' выделяем листы для копирования  
   Sheets("Summary").Activate ' активируем их  
   Sheets(Array("Summary", "Line 1", "Line 2")).Copy ' копируем листы в новую книгу  
 
ActiveWorkbook.SaveAs Filename:= _  
"C:\Program Files\PAS\Report\" + CurrYear + "\" + CurrMonth + "\Report_" + NameBegin + "_" + NameEnd + " .xls" _  
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _  
ReadOnlyRecommended:=False, CreateBackup:=False ' задаем тут формат имени файла и место сохранения  
 
теперь про траблу.  
Если по указанному пути файл уже существует и пользователь тискает кнопку "Нет" или "Отменить" на появившемся окошке, то вываливаемся в ошибку VBA + имеем открытую книгу с скопированными листами и названием вида "Книга 1(2,3,4 и т.д.)"  
Понимаю, что нужно ставить обработку ошибку конструкцией вида  
On Error GoTo HandleError  
...  
HandleError:  
...  
и в обработчике нужно как-то найти открытую книгу с именем "Книга 1(2,3,4 и т.д.)" и закрыть ее без сохранения.  
Так вот вопрос - как найти открытую книгу?  
или может есть какое-то другое решение?
Открываю HTML-файл. Как запретить преобразовывание в дату?
 
Добрый день.  
Вопрос уже давно не давал мне покоя - но вот теперь пришло время его все-таки решить.  
Открываю в EXCEL 2002 файл HTML. В нем - записи типа 60.34, 08.03 и т.д. Проблема заключается в том, что 08.03 ни с того ни с сего преобразуется в данные типа Дата. Не хочу я этого!  
Замену в региональных настройках формата данных типа Дата - например, на dd*MM*yyyy (или типа того, чтобы исключить точку) - не предлагать. Дело в том, что в исходном файле есть еще и действительно даты. И вот их как раз и надо считать как даты.  
Еще раз сформулирую вопрос: как имея данные  
01.02.2007   08.03  
при открытии в EXCEL 2002 в первом случае получить в ячейке действительно дату, а во втором - текст?  
Спасибо.
Страницы: 1
Наверх