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

Страницы: 1
Как исключить из области видимости цикла скрытые строки
 
Здравствуйте УВ. Форумчане!  
Подскажите, как можно изключить из цикла такого вида работу со скрытыми строками  
 
       LastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count  
       For i = LastRow To 1 Step -1  
/////////////////////////  
       Next i  
 
Можно вставить    
If Application.Rows(i).EntireRow.Hidden <> True Then  
End If  
 
Но при этом цикл все равно смотрит скрыта ли строка... Срок очень много и пока будут проверены все можно сходить кофе попить..  
 
Заранее благодарен!  
 
З.Ы.  
Если нужно сделаю пример.
Как получить список всех имен листов книги и список имен разрешенных для изменения диапазонов
 
Здравствуйте УВ.Форумчане!  
Возникла проблема, нужно получить имена всех листов книги и список имен разрешенных для изменения диапазонов, на листе с которого вызван макрос. На новом листе.  
 
Примерно должно выглядеть так... только я не все знаю как написать, помогите поправить пожалуйста!  
 
Sub reads()  
   Worksheets.Add.Name = "temps"  
   Sheets("temps").Select  
for i = "Первый лист" To "Последний лист"  
Range(Cells(1, i).Value = Sheet.Name  
Next i  
 
for i = "Первый диапазон" To "Последний диапазон"  
Range(Cells(2, i).Value = ActiveSheet.Protection.Name  
Next i  
 
End Sub  
 
Заранее благодарен!
Сохранение бакап файла в текущую папку с проектом
 
Доброе время суток!  
Подскажите, а как сохранять файл в текущую папку с проектом или в папку которая лежит в папке с проектом. Чтоб не нужно было жестко привязываться к месторасположению проекта.  
Код макроса взят из статьи "Создание резервных копий ценных файлов" из раздела "Приемы".  
strPath = "\TEMP"  
strPath = "TEMP"  
strPath = "\..\TEMP"  
И подобные не воспринимает.  
Заранее благодарен!
Отключение сообщения о том, что ячейка защищена от изменений
 
Доброе время суток УВ Форумчане!  
Подскажите пожалуйста, как отключить сообщение о том, что ячейка защищена от изменений, которое появляется при попытке изменения заблокированной ячейки на защищенном рабочем листе.  
Application.DisplayAlerts=False не помогает.  
 
Заранее благодарен!
Печать выделенного диапазона
 
Доброе время суток УВ Форумчане!  
Написал макрос для печати выделенного диапазона, выделение происходит нормально, но на принтер не отправляет... собственно загвоздка в последней строчке.  
Подскажите, что не так.  
Заранее благодарен!  
 
Sub PrintSelection()  
   a = Selection.Row  
   c = Selection.Column  
   b = a + Selection.Rows.Count - 1  
   d = c + Selection.Columns.Count - 1  
   Range(Cells(a, c), Cells(b, d)).Select  
   Selection.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False  
End Sub
Загвоздка с макросом "активности пользователя"
 
Доброе время суток УВ форумчане!  
Есть сложность с макросом. Для листа содержание есть макрос  
 
Private Sub Worksheet_Change(ByVal Target As Range)  
Active_Row = Target.Row  
Cells(Active_Row, 14) = Cells(Active_Row, 1)  
Dim S As Integer  
S = 1  
End Sub  
 
 
Private Sub Worksheet_Deactivate()  
If S = 1 Then If MsgBox("Сохранить", 52, "Внимание!") <> vbYes Then Sheets("Содержание").Visible = False  
End Sub  
 
При изменениях на листе, содержимое первой ячейки копируется в N:N столбик, но на листе содержится список, при выборе значения значения списком "это" условие не срабатывает, работает только если занести данные в ручную. Как можно поправить? или есть    
возможность заставить список вызвать функцию, или изменить значение еще в одном месте при активации.  
 
И эта часть макроса  
Dim S As Integer  
S = 1  
совсем не работает.  
так как Sub Worksheet_Deactivate() никогда не отрабатывает...  
 
Подскажите пожалуйста как можно починить.  
Заранее благодарен!
Помогите разобраться с формами
 
Здравствуйте УВ Форумчане!  
Помогите пожалуйста разобраться с формами, никогда работать с ними не пробовал, а у самого разобраться не получается.  
 
Для первого листа, необходима форма, типа ок, отмена и полем ввода, в которое автоматом заносится значение С3, и его можно изменить, по нажатию ок "значение поля ввода", заносится в ячейку д3.  
Форма вызывается по кнопке "Заполнить".  
 
Для второго листа, не знаю реально ли такое... Форма с двумя полями в которой вводится период с "дата типа 02.08.2012" по "дата" с кнопками ок, отмена. Форма работает с авто фильтром по дате, и нажатию ок фильтр показывает заданные период.  
И нужна галочка, чтобы установить конечный результат фильтра, датой как функция СЕГОДНЯ()  
Форма вызывается кнопкой "Период"  
 
Заранее премного благодарен!!!
Формула для суммирования по критериям
 
Здравствуйте УВ Форумчане!  
Помогите пожалуйста! Нужно как-то одной формулой посчитать сумму по номерам накладной, но сумма получается умножением нескольких столбцов. Приложил пример, для накладной с номером 1.  
Заранее благодарен!
Контроль изменений на листе
 
Здравствуйте УВ Форумчане!  
Появилась надобность вести контроль изменений на листе.  
То есть, я изменяю или заношу какое-то значение в строчку на листе, если произошли изменения, то в этой строчке в заданной ячейке ставится 1, к примеру М1, изменил другую строчку, и в М12 к примеру тоже стала 1-ца.  
Пожалуйста, подскажите пожалуйста функцию которая такое умеет  
По идее должна подойти Private Sub Worksheet_Change(ByVal Target As Range), но она почему-то  не работает...  
 
Private Sub Worksheet_PivotTableAfterValueChange(ByVal TargetPivotTable As PivotTable, ByVal TargetRange As Range)  
Active_Row = Selection.Row  
Cells(Active_Row, 12) = 1  
End Sub  
 
Заранее благодарен!
Удаление строки вместе с формами
 
Здравствуйте уважаемые формучане!  
Есть такая проблема, нужно удалить выделенную строку с данными и формами. С данными все просто. Макрос на листе передает "выделенную строку" в ячейку, потом "макросом удаления"  
забираю значение и удаляю строчку, но как быть с формами. Форм может быть много и я могу удалять любую строчку на листе, но при таком обстоятельстве я не знаю их имени, так что написанный мною вариант работает только для частного случая.  
 
Заранее благодарен!  
 
'для листа'  
Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
Range("N3").Value = Selection.Row - 4  
End Sub  
 
 
Sub Delete()  
'  
   iCountnow = Range("N3").Value + 4  
 
Rows(iCountnow).Delete  
 
ActiveSheet.Shapes.Range(Array("ComboBox1")).Delete  
ActiveSheet.Shapes.Range(Array("ComboBox2")).Delete  
ActiveSheet.Shapes.Range(Array("ComboBox3")).Delete  
End Sub
Создание списка ActiveX макросом
 
Здравствуйте УВ. Форумчане!  
Нужно создать макрос для создания списка ActiveX с заданными критериями и в заданной ячейке c заданными размерами.  
 
Автоматически получается вот такой код  
Sub Add_List()  
 
   ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _  
       DisplayAsIcon:=False, Left:=106.5, Top:=125.25, Width:=44.25, Height _  
       :=16.5).Select  
         
End Sub  
 
При запуске макроса получается список, но без "настроек", нужны вот такие настройки для списка  
ListFillRange:="Конструктор!Range(Cells(2, 1), Cells(iCountlong, 1))"  
LinkedCell:=Cells(7, 3)  
 
переменные  
iCountlong = Range("Конструктор!F1").Value  
iCount = Range("C3").Value  
 
Подскажите как их правильно добавить в полученый "автокод"    
 
Заранее благодарен!
Суммирование по совпадению наименования и даты с удалением "просуммированного"
 
Доброе время суток УВ. Форумчане!  
Нужно просумировать колчество за совпадающую дату и оставить строчку с одной "ставшей уникальной" датой и присвоить ей просуммированное количество.  
 
То что нужно получить выделено зеленым или желтым. Зеленым то, что должно быть в идеале, а желтым тоже подойдет если "зеленое" получить сложно. По поводу желтого, "контроль" для того чтоб понять какие строки можно удалить "0 - нельзя, 1 - можно", в последней строке с повторяющимися датами заносим количество, удаляем все строки с контролем 1 и заменяем количество в ставшей уникальной строке на сумму.
Подсчет количества значений в зависимости от полученного результата
 
Доброе время суток УВ. Форумчане!  
Не могли бы Вы помочь с такой проблемой.  
В колонках F:G Эталонные значения  
Нужно поставить в поле контроль 0 или 2 в зависимости от:  
К примеру, берем всех Жор суммируем у них количество, если сумма больше чем в эталонном поле, то убираем самую старую (по дате) запись из результатов суммирования и проверяем больше ли полученная сумма чем в эталонном поле, если да то ставим поле контроль напротив убранной даты 2 и проверяем дальше оставшиеся, но если удаление этой строки делает сумму меньше чем в эталонном поле, то ставим 0 для этого и всех остальных полей по заданному критерию "Жора" 0.  
 
Заранее благодарен!  
 
З.Ы.  
В аттаче то как должно получится...
Обработка диапазона в функции ВПР
 
Доброе время суток УВ. Форумчане!  
Есть нетривиальная задача по сравнению... но есть маленькая загвоздка, для нее "123" не равно " 123". Подскажите как из просматриваемого диапазона можно удалить пробелы?  
 
З.Ы.  
В эталонных значениях с пробелами все в порядке.  
 
Заранее спасибо!
Суммирование всех позиций по нескольким критериям
 
Доброе время суток УВ.Форумчане!  
Не могли бы Вы помочь..  
Нужно просуммировать позиции по нескольким критериям.  
 
Во вложении то что есть и то что нужно получить  
Просуммировать количество у которых Наименование равно (Вася) и Контроль равен (1), и отнять количество у которых Наименование (Вася) и контроль равен (0), для Пети аналогично.  
 
Заранее благодарен!
Фиксированные параметры для сводных таблиц
 
Доброе время суток УВ.Форумчане!  
Нужно задать фиксированные параметры для выборки в полях сводной таблицы.  
То есть к примеру для одного поля нужно выбрать все кроме пусто, а для другого только с значениями 1 и 2. Входные данные могут меняться, но критерии отбора остаются неизменными. Когда содержимое меняется, выбранные ранее "1 и 2" остаются но добавляется еще куча "мусора" которая добавляться не должна... Хотя иногда все происходит так как надо и так называемый "мусор" не попадает вы выборку...  
 
Заранее благодарен!
Оптимизация расчетов по скорости
 
Добрый день УВ. Форумчане!  
Нужно попробовать упростить (оптимизировать по скорости) формулы, так как строк с данными получается около 10000 и когда они все заполнены считает очень долго...  
Понимаю что задача сложная, но очень прошу помочь...  
 
Логика формул:  
Столбец G:  
=ЕСЛИ(A2>0;(ЕСЛИ(ЕОШИБКА(ВПР($B2;VPRZ;2;0))=ИСТИНА;A2-1;ЕСЛИ(J2=1;ДАТАЗНАЧ(ПРАВСИМВ(ВПР($B2;VPRZ;3;0);8));ВПР($B2;VPRZ;2;0))));"")  
   A2>0 - проверят есть ли данные в строке, так как формулы протянуты на все 10000 строк, чтоб если нет данных то зря не лопатило.  
   ЕСЛИ(ЕОШИБКА(ВПР($B2;VPRZ;2;0))=ИСТИНА - Проверяю есть строка с нужным кодом на листе "ЗНВП"  
   A2-1 - Если строк нет то, дата указанна на листе НВП -1  
ЕСЛИ(J2=1;ДАТАЗНАЧ(ПРАВСИМВ(ВПР($B2;VPRZ;3;0);8)) - Дата также может содержаться в комментариях. Условие в столбце "J" проверяет есть ли в комментариях дата.    
   J2=1 - Если была дата  
ДАТАЗНАЧ(ПРАВСИМВ(ВПР($B2;VPRZ;3;0);8) - то преобразовать текст в дату и "записать"  
ВПР($B2;VPRZ;2;0) - Ну и если все предыдущее не верно и строка по коду найдена то "верни то что нашел"  
 
Условия в столбце "H":  
=ЕСЛИ(A2>0;(ПОИСКПОЗ(E2&F2&G2;Agent&KK&Data;0));"")  
   A2>0 - проверят есть ли данные в строке, так как формулы протянуты на все 10000 строк, чтоб если нет данных то зря не лопатило.  
   ПОИСКПОЗ(E2&F2&G2;Agent&KK&Data;0 - Ищет повторяющиеся коды в столбце "F". Код считается повторяющимся если принадлежит несколько раз одному и тому же агенту за одну дату.  
 
Условия в столбце "I":  
=ЕСЛИ(A2>0;(ЕСЛИ(СЧЁТЕСЛИ($H$1:H1;ПОИСКПОЗ(E2&F2&G2;Agent&KK&Data;0))=0;1;""));"")  
Нужно для поиска одинаковых кодов в столбце "H", если код уникален 1, если нет 0. условия те же, код считается повторяющимся если принадлежит несколько раз одному и тому же агенту за одну дату.  
 
Условия в столбце "J":  
=ЕСЛИ(A2>0;ЕСЛИ(ТИП(ДАТАЗНАЧ(ПРАВСИМВ(ВПР($B2;VPRZ;3;0);8)))=1;1;"");"")  
Проверяет являются ли 8-мь последних символов в строке комментария датой. Если да то ставит 1.
Поиск дубликатов по условию
 
Доброе время суток У.В. Форумчане!  
Нужно найти дубликаты и вернуть значение которое задвоенно, это получилось сделать самому. Но возникла небольшая загвоздка... если в поле контроль столбец "В" установлен 0, то код не должен участвовать в "поиске дубликатов", де факто игнорироваться, если дубликат кода есть где то еще и "контроль = 1" то все нормально.  
 
Заранее благодарен
Распределение данных с форматированием
 
Добрый день УВ. Форумчане!  
Возникла такая проблема.. есть данные (лист 1), нужно навести порядок в датах... сделать так сказать макрос для форматирования  
Если точнее для отсутствующих дат делать пропуск, разделять красной линий разные месяца одного "огорода".  По окончании данных по огороду рисовать красную линию (для разделения огородов) (пример готового результата на листе 2)  
 
Заранее благодарен
Объединение данных
 
Доброе время суток УВ. Форумчане!  
Нужно объединить похожие данные  
Из того что на листе 1, получить то что на листе 2.  
 
Заранее благодарен!
Копирование данных без формул по условию
 
Доброе время суток УВ.Форумчане!  
Не подскажите как можно скопировать данные без формул, по условию...  
Или как то объединить данные двух сводных таблиц... "лист 1 и 2 получаются сводными таблицами"  
 
1,2 - листы с данными, 3-й как результат "группировки" данных первых двух листов
Проблема с оптимизацией
 
Доброе время суток УВ. Форумчане!  
Помогите кто чем может)) Сложилась такая ситуация, когда нужно обработать много информации… «сделать обработку данных за месяц»,  количество данных на двух страницах около 3-х тысяч строк на каждой.  
Только просчет для одного дня уже занимает солидное количество времени, а просчет для всех дней я физически добавить не могу… файлик разрастается за 300 мб…. на каждом листе по 100000 формул...    
Может можно как-то упростить то что я написал…  
Суть такова, для каждого дня, по каждому агенту просчитываются данные.. но так как я не знаю был ли день, когда он начнется или закончится приходится тянуть формулы на все 3000 строк, только для одного дня… может можно как-то передавать параметры для одного листа.., но чтоб сразу увидеть все данные, по всем дням.. как бы циклически.. Параметрами служат данные столбцов «G» и «I» на листе «ВЗ» (агент и дата), основные формулы это лист «1», данные сводятся на лист «КМ».  
Заранее благодарен!!!
Поиск уникальных значений по критерию
 
Добрый день, уважаемые форумчане!!  
Помогите пожалуйста, у меня появилась задача сделать извлечение уникальных (не повторяющихся) записей из списка, по критериям.  
За основу взял эту статью http://www.planetaexcel.ru/tip.php?aid=46  
Мне нужны уникальные значения списка, которые соответствуют  параметру в соседней колонке.  
Получается формула  
=ЕСЛИ((НВП!E2=F$1)*И(НВП!G2=КМ!A$2);ЕСЛИ(СЧЁТЕСЛИ(НВП!D$1:НВП!D2;НВП!D2)=1;МАКС(I$1:I1)+1;"");"")  
В формуле (НВП!E2=F$1)*И(НВП!G2=КМ!A$2) служит для проверки «Соответствует ли критерию»    
Вроде бы все верно, но если значение встречалось (хотя не соответствует (НВП!E2=F$1)*И(НВП!G2=КМ!A$2)), оно все равно уже перестает считается уникальным….  
То есть:  
1 Яблоко  
1 Груша  
2 Слива  
2 Груша  
То при отборе уникальных по критерию 2, среди них появится только слива, а груша странным образом пропадает… складывается впечатление, что Ексель как бы пропускает первое ЕСЛИ и выполняет второе, а только потом выполняет первое.  
Заранее благодарен!!!  
 
З.Ы.  
Может кто сможет предложить более изящное решение.
Страницы: 1
Наверх