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

Страницы: 1 2 След.
Cмена даты макросом в сводной таблице
 
{quote}{login=KukLP}{date=15.08.2011 08:06}{thema=}{post}PivTab.PivotFields("Дата").CurrentPage = Format(NData, "DD\/MM\/YY"){/post}{/quote}  
Заработало. Спасибо огромное, я про два слеша точно бы не догадался.
Cмена даты макросом в сводной таблице
 
Здравствуйте. Помогите, пожалуйста, найти ошибку в процедуре  
 
Sub Макрос1()  
  Dim NData As Date, Smena As String, PivTab As PivotTable, SH As Worksheet  
     
   NData = [E3]
   Smena = [E4]
   Set SH = Worksheets("Лист1")  
     
   For Each PivTab In SH.PivotTables  
       PivTab.PivotFields("дата").ClearAllFilters  
       PivTab.PivotFields("дата").CurrentPage = Format(NData, "DD/MM/YYYY")  
       PivTab.PivotFields("смена").ClearAllFilters  
       PivTab.PivotFields("смена").CurrentPage = Smena  
   Next PivTab  
 
End Sub  
 
ругается вот на эту строчку  
       PivTab.PivotFields("дата").CurrentPage = Format(NData, "DD/MM/YYYY")  
хотя взял ее из файла скачанного с форума, в том файле работает а в моем не хочет  
Подскажите кто сталкивался с подобной проблемой как это победить?
суммесли для нескольких листов
 
{quote}{login=The_Prist}{date=23.11.2010 11:46}{thema=}{post}вот, нашел у себя{/post}{/quote}  
Спасибо огромное. Вы меня просто спасли.
суммесли для нескольких листов
 
Здравствуйте. Подскажите, пожалуйста, почему не работает формула суммесли(), если в качестве диапазона указать одну ячейку на нескольких листах, ведь формула сумм() при тех же условиях считает нормально)
Преобразование даты с 2-х значным годом
 
{quote}{login=Egormax}{date=09.11.2010 01:21}{thema=}{post}Может быть вам это подойдёт?  
 
http://www.planetaexcel.ru/tip.php?aid=104{/post}{/quote}  
 
Спасибо. Забыл про этот пример. Попробую выудить ответ из него.
Преобразование даты с 2-х значным годом
 
Спасибо за ответы но это не совсем то что я хотел узнать. Формулами я знаю как сделать, могу написать процедуру через цикл for each... Хотелось бы узнать можно ли это сделать это одной строкой.
Преобразование даты с 2-х значным годом
 
Здравствуйте. Подскажите, пожалуйста, как макросом преобразовать дату с 2-значным годом в формат 20XX. Макрорекордер ничего не записывает((
Изменения формата даты при сохранении файла как .txt VBA
 
{quote}{login=Юрий М}{date=22.09.2010 12:54}{thema=}{post}Попробуйте сначала сохранить значение в ячейке как текст.{/post}{/quote}  
Спасибо большое, Юрий я так и сделал, все работает. Правда остался вопрос почему формат меняется раньше все нормально было, но это мелочь главное основоная проблема решена.
Изменения формата даты при сохранении файла как .txt VBA
 
Здравствуйте. Никак не могу понять причину глюка. Если файл .xls вручную сохранять как текстовый с разделителями табуляции то формат даты не менятся, а если тоже самое делать макросом то почему-то вместо "dd.mm.yyyy" получается "mm/dd/yyyy". Подскажите, пожалуйста, кто сталкавался, как бороться?
Пернос данных в таблицу с сохранением предыдущих данных
 
Ну вот опять я не угадал:( Простите за дезинформацию:)
Пернос данных в таблицу с сохранением предыдущих данных
 
{quote}{login=}{date=11.08.2010 07:51}{thema=}{post}Спасибо огромное!!!!!! А если без макросов, то никак не получиться?{/post}{/quote}  
Позволю себе ответить, на этот вопрос, хотя сам еще только начинаю изучать excel. Встроенные формулы excel могут только возвращать искомое значение исходя из аргументов, СОХРАНЯТЬ какие-то ни было результаты вычислений, формулы не могут, это под силу только макросам.  
Конкретно в Вашем случае макросы необходимы.
Поиск первого отрицательного значения
 
{quote}{login=vikttur}{date=11.08.2010 02:54}{thema=}{post}Используйте доп. столбец.{/post}{/quote}  
Все ясно. Спасибо)
Поиск первого отрицательного значения
 
Про пустые не подумал, их в нужном мне файле нету, но все же может измениться. Что получается, написать "немассивную" формулу для таблицы содержащую пустые ячейки нереально?
Поиск первого отрицательного значения
 
{quote}{login=vikttur}{date=11.08.2010 02:03}{thema=}{post}Если без нулей, то не массивный гибрид kim'а и Казанского (вернее, их формул) :)  
=ИНДЕКС(B$2:R$2;ПОИСКПОЗ(;ИНДЕКС(B3:R3;ПОИСКПОЗ(СЕГОДНЯ();B$2:R$2;0)):R3;-1)+ПОИСКПОЗ(СЕГОДНЯ();B$2:R$2;0)){/post}{/quote}  
Если я все правильно усвоил, то победить нули можно так  
=ИНДЕКС(B$2:R$2;ПОИСКПОЗ(-0,001;ИНДЕКС(B3:R3;ПОИСКПОЗ(СЕГОДНЯ();B$2:R$2;0)):R3;-1)+ПОИСКПОЗ(СЕГОДНЯ();B$2:R$2;0))  
Верно, или я что-то упустил?
Поиск первого отрицательного значения
 
Всем, большое спасибо за помощь, правда, вчера ADSL-модем - гад, не дал прочитать ответы, но сегодня мне эта информация еще нужнее. Особенно порадовало количество ответов, проанализировав все формулы, я не просто получил ответ на конкретный вопрос, я получил знания необходимые для написание подобных формул в будущем самостоятельно. Всем респект)
Поиск первого отрицательного значения
 
Здравствуйте. Есть таблица с данными, первая строка каждого столбца - дата, даты идут в возрастающем порядке, остальные строчки содержат числовые данные как положительные, так и отрицательные.  
Вопрос: Подскажите, пожалуйста, возможно ли написать формулу для каждой строки с помощью, которой можно определить дату первого отрицательного значения просматривая диапазон начиная с текущей даты и до конца таблицы.
Автоматический поиск номера по фамилии в др. ячейке
 
=ЕСЛИ(C4>0;ИНДЕКС(База!A:B;ПОИСКПОЗ(Прайс!C4;База!B:B;0);1);"")чтобы не было Н/Д  
Ну а кроме Отчеств есть еще какие-то индивидуальные признаки?
Автоматический поиск номера по фамилии в др. ячейке
 
{quote}{login=cobraN}{date=06.08.2010 10:30}{thema=Re: Автоматический поиск номера по фамилии в др. ячейке}{post}{quote}{login=Мяу™}{date=06.08.2010 10:19}{thema=Автоматический поиск номера по фамилии в др. ячейке}{post}Можно сделать через ВПР, но для этого нужно, чтобы присутсвовал ещё один признак.  
 
Или связные выпадающие списки.{/post}{/quote}  
 
Не могли бы написать точную формулу? Я в них ничего не понимаю({/post}{/quote}  
=ВПР(C4;База!A:B;2;0) если в столбце А писать Фамилию И. а в B ID (лист База)  
=ИНДЕКС(База!A:B;ПОИСКПОЗ(Прайс!C4;База!B:B;0);1) если нечего не менять  
А в случае одинаковых Фамилий и Имен рекомендую Отчество добавлять - самы простой вариант)
Как умножить строку на стобец если строки в другом порядке
 
{quote}{login=KL}{date=29.07.2010 06:46}{thema=Re: Re: Re: }{post}{quote}{login=VistaS}{date=29.07.2010 05:49}{thema=Re: Re: }{post}... Хотя с другой стороны я раньше думал что если в параметрах включена соответствующая опция все стандартные формулы Excel пересчитываются... что-то я запутался({/post}{/quote}  
Нет, все гораздо хитрее. Excel ведет учет зависимостей в формулах и помечает формулы как требующие пересчета при ближайшем событии провоцирующем пересчет (открытие файла сохраненного в более ранней версии, изменение или ввод значения в ячейку, применение автофильтра, и т.д.). Для уже существующих формул в режиме Автоматического пересчета: если формула летучая, то она пересчитывается при любом таком событии; нелетучая формула пересчитывается при подобных событиях только если изменения влияют на ее результат.  
Подробнее - по первой ссылке моего списка англоязычных ресурсов.{/post}{/quote}  
Спасибо за разъяснение, а я еще думал что Excel за формулы пересчитывает когда файл в более поздней версии сохраняю формулы вроде те же, что там СУММ что тут)  
Теперь понял.
Как умножить строку на стобец если строки в другом порядке
 
Читайте вот это:  
http://www.decisionmodels.com/optspeed.htm  
http://office.microsoft.com/en-us/excel-help/more-arrays-introducing-array-constants-in-excel-HA001087291.aspx  
http://office.microsoft.com/en-us/excel-help/introducing-array-formulas-in-excel-HA001087290.aspx  
http://office.microsoft.com/en-us/excel-help/putting-basic-array-formulas-to-work-HA001087292.aspx  
http://office.microsoft.com/en-us/excel-help/putting-advanced-array-formulas-to-work-HA001087227.aspx  
http://www.xldynamic.com/source/xld.SUMPRODUCT.html  
http://www.emailoffice.com/excel/arrays-bobumlas.html{/post}{/quote}  
Эх жаль с английским у меня плохо( Но учиться никогда не поздно, и электронные переводчики никто не отменял, так что думаю найду в себе силы освоить информацию. Спасибо за помощь)
Как умножить строку на стобец если строки в другом порядке
 
{quote}{login=KL}{date=29.07.2010 03:57}{thema=Re: }{post}{quote}{login=VistaS}{date=29.07.2010 02:32}{thema=}{post}Комп на работе слабый, новый неизвестно когда поставят, так что уже использую формулу с 66 знаками, спасибо всем за просвещение по поводу "летучести".{/post}{/quote}  
Длинна формулы не имеет никакого отношение к скорости расчетов.{/post}{/quote}  
Полностью согласен, на скорость должно влиять количество операций, необходимое для определения искомого значения. Но я так понял что формула(66) "нелетучая" и не будет пересчитываться при каждом изменении листа. Хотя с другой стороны я раньше думал что если в параметрах включена соответствующая опция все стандартные формулы Excel пересчитываются... что-то я запутался(
Как умножить строку на стобец если строки в другом порядке
 
Комп на работе слабый, новый неизвестно когда поставят, так что уже использую формулу с 66 знаками, спасибо всем за просвещение по поводу "летучести".
Как умножить строку на стобец если строки в другом порядке
 
{quote}{login=vikttur}{date=29.07.2010 02:06}{thema=}{post}Борьба за знаки - 55, но летучая и если расположение дат одинаково:)  
=СУММ(СМЕЩ($I$3;;ПОИСКПОЗ($B3;$J$2:$M$2;);3;)*J$8:J$10){/post}{/quote}  
Можно уточнить, летучая это всмысле протягивается по столбцам и строчкам, или чтото иное?
Как умножить строку на стобец если строки в другом порядке
 
Всем огромное спасибо за ответы, узнал много нового, уже распечатал Уокенбаха главу про массивы, но боюсь, мозга пока не хватит до конца понять прицип создания этих формул, тем более сейчас читаю книжку этого же автора про VBA, очень много новой информации, и часто много матов когда понимаю что то что раньше делал около часа, можно делать (и уже делается) за считанные секунды. Правду говорят знания - сила!)
Как умножить строку на стобец если строки в другом порядке
 
{quote}{login=vikttur}{date=29.07.2010 01:39}{thema=}{post}=СУММПРОИЗВ(ИНДЕКС($J$3:$M$5;;ПОИСКПОЗ($B3;$J$2:$M$2;0));ИНДЕКС($J$8:$N$10;;ПОИСКПОЗ(C$2;$J$7:$N$7;0))){/post}{/quote}  
Ура, формула без массива! Спасибо большое! А что по-идее должно быстрее пересчитываться массивы или "немассивы"?
Как умножить строку на стобец если строки в другом порядке
 
Спасибо за второй вариант, оказывается тут еще и разными способами можно) А Вы можете посоветовать литературу в которой доступно про массивы рассказывается?
Как умножить строку на стобец если строки в другом порядке
 
Большое спасибо, все работает) буду разбираться в формуле. Придется мне все-таки несмотря на страх, изучать массивы)
Запрос данных из другой книги
 
Всем большое спасибо за ответы. Посмотрел прикрепленный файл и понял что изучение vba это надолго))) Я без комментов если строчки три понял то хорошо, сейчас буду досконально разбираться в макросе, спасибо автору за подробные комментарии, без них я бы неделю понимал что там написано)))
Запрос данных из другой книги
 
Здравствуйте. Подскажите, пожалуйста, как проще обновлять данные в книге из другой книги, используя vba?    
Sub macro()  
   Dim a As Range, f As Range, c As Long, d As Long, e As Single, month As String, i As Integer, g As Range, h As Long  
   Dim mdata As Date, n As Integer  
   n = InputBox("la", "na", "ba")  
   mdata = Date - 1  
   e = Left(Date - 1, 2)  
   h = 29  
   mdata = Date - 1  
   For i = 1 To n  
   mdata = mdata + 1  
   month = Format(mdata, "mmmm")  
   e = Left(mdata, 2)  
   h = h + 5  
   Windows("HLT" & month & " 2010.xls").Activate  
   Application.DisplayAlerts = False  
   ActiveWorkbook.Save  
   Application.DisplayAlerts = True  
   Set a = Range("3:3")  
   Set f = a.Find(e & "f",,xlValues,xlPart)  
   c = f.Row  
   d = f.Column  
   Range(Cells((c + 7), d), Cells((c + 137), d)).Copy  
   Windows("book.xls").Activate  
   Sheets("sheet1").Select  
   Cells(3, h).Activate  
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone  
   Next i  
End Sub  
наслаждаюсь мельканием окон и получаю нужный результат, решил переписать макрос так, чтобы данные извлекались без "copy" и "paste" и застопорился на этой строчке:    
Application.Workbooks("book1.xls").Sheets("o1").Range("otgrdat" & dm) = "=R[7]C:R[162]C"
, в диапазон "otgrdat" & dm вставляются формула массива, а как вставить значения допетрить не могу( Помогите, пожалуйста, понять как значение диапазона вставлять. А может есть способ намного проще данные синхронизировать? Заранее спасибо)
Операция с адресом ячейки в vba
 
{quote}{login=The_Prist}{date=25.05.2010 08:44}{thema=}{post}Я забыл удалить лишнее. Попробуйте так:  
Range("2:2").Find("14",,xlValues,xlWhole).offset(6).select{/post}{/quote}  
Спасибо, теперь все работает.
Страницы: 1 2 След.
Наверх