Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Определить самые ранние (1 и 2) даты операции по условию
 
Всем доброго времени суток.
Прошу рязъяснить  что я делаю не так.
Суть задачи заключается в том, что есть перечень сотрудников совершающих ежедневно от 1 операции, необходимо выбрать по указанному сотруднику 1-ю и 2-ю операции (самые ранние) с помощью VBA ..но почему-то не выходит у меня.
Формулами все получается, но хочу разобраться в VBA.
ExceL 2019.

Код
Sub dsd()
Cells(9, 6) = Application.WorksheetFunction.MinIfs(Range("B:B"), Range("A:A"), Cells(1, 6))
Cells(10, 6) = Application.WorksheetFunction.MinIfs(Range("B:B"), Range("A:A"), Cells(1, 6), Range("A:A"), ">" & Cells(9, 6))
End Sub
Изменено: Mershik - 30 май 2020 13:36:38
Не бойтесь совершенства. Вам его не достичь.
Вывести список уникальных значений используя коллекции VBA
 
Доброго времени суток, друзья.
Так как тем особо нет - решил что-бы не скучать по чуть-чуть влезть в коллекции.
Нашел рабочий макрос (прилагаю) разобрал его, но остался черный участок, а именно почему при добавлении объекта в коллекцию используя CStr(cell.Value) выводит список уникальных без него полный список ??
Код
Sub unik()
Dim cell As Range, rng As Range
Dim Kolekciya_unik As New Collection
Set rng = Range("A2:A500")

On Error Resume Next
For Each cell In rng
    If Not IsEmpty(cell) Then Kolekciya_unik.Add cell.Value, CStr(cell.Value)
Next cell
For i = 1 To Kolekciya_unik.Count
    Cells(i, 3) = Kolekciya_unik(i)
Next i
End Sub
Изменено: Mershik - 10 май 2020 21:28:48
Не бойтесь совершенства. Вам его не достичь.
Проверить ячейки на соответствие заданным форматам и создать список несоответствующих ячеек с гиперссылкой на них с помощью VBA.
 
Всем доброго времени суток!
Прошу Вас помочь.
Ежедневно от 10 до 30 раз обновляются данные в таблице  Range("O5:" последний столбец (определяется как ячейка со словом Реализация в строке 2 - 1 & последняя строка) количество строк и столбцов всегда разное, но всегда именно так определяется.
Этот диапазон состоит всегда из одинаковых значений по формату: число, дата, дата, число, дата, дата.
Так как данные вносятся людьми бывают некорректные данные а именно ..дата как текст или не существующая дата (31.11.2019) или 31 01 2019, Даты не должны быть меньше чем 01.04.2017 (дата создания организации) и не больше чем сегодня(), ячейки с  суммами могут через точку писать или вообще не ставить ничего (пробел)...Проверив все ячейки нужно вывести список на отдельный лист с ошибкам и ссылками на них.

Макрос я сделал но так как данных для проверки очень долго работает не быстро (секунд 30), а хотел попробовать впихнуть его в массивы и не знаю как...

КОРОТКО НУЖНО ДИНАМИЧЕСКИЙ ДИАПАЗОН ПРОВЕРИТЬ ЧТО БЫ ТАМ БЫЛА ДАТА ИЛИ ЧИСЛО И МАКСИМАЛЬНО БЫСТРО. МНЕ КАЖЕТСЯ МАССИВЫ МОГУТ ТУТ ПОМОЧЬ - НО Я НЕ ЗНАЮ ИХ. ИЛИ ВОЗМОЖНО ПРОСТО УСКОРИТЬ РАБОТУ ТЕКУЩЕГО МАКРОСА...

а забыл - желаемый результат будет если нажать на кнопку на листе.
Код
Sub Proverka_formatov_v_sobiraemosti()
Dim i As Integer
Dim r As Double
Dim k As Double
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
Worksheets("ОШИБКИ").Range("A1:P10000").Clear
ilastrow = Cells(Rows.Count, 1).End(xlUp).Row
ilastcolumn = Rows(2).Find("Реализация", LookIn:=xlValues).Column - 1 ' последний столбец со словом реализация в строке 2
    For k = 5 To ilastrow ' цикл перебора по строкам после прохождения всего цикла по столбцам
    
        For i = 15 To ilastcolumn Step 6 ' цикл перебора по столбцам

 'проверяем формат данных внесенных в ячейки в столбцах реализация
            If WorksheetFunction.IsNumber(Cells(k, i)) Or IsEmpty(Cells(k, i)) Then
                Cells(k, i).Interior.Color = xlNone
            Else
               Cells(k, i).Interior.Color = vbRed
               
               ilastrow = Worksheets("ОШИБКИ").Cells(Rows.Count, 1).End(xlUp).Row + 1
               ActiveSheet.Range("B" & k & ":K" & k).Copy Destination:=Worksheets("ОШИБКИ").Cells(ilastrow, 1)
               Worksheets("ОШИБКИ").Cells(ilastrow, 11) = ActiveSheet.Cells(4, i).Value
               ActiveSheet.Cells(k, i).Copy Destination:=Worksheets("ОШИБКИ").Cells(ilastrow, 12)
               
               Worksheets("ОШИБКИ").Cells(ilastrow, 12).Hyperlinks.Delete
               Worksheets("ОШИБКИ").Hyperlinks.Add Anchor:=Worksheets("ОШИБКИ").Cells(ilastrow, 12), Address:="", _
               SubAddress:="'" & "отчет" & "'!" & ActiveSheet.Cells(k, i).Address(0, 0), _
               ScreenTip:="Перейти на: " & "отчет" & "!" & ActiveSheet.Cells(k, i).Address(0, 0)
               
            
            End If

 'проверяем формат данных внесенных в ячейки в столбцах дата отправки
            If IsEmpty(Cells(k, i + 1)) Or (IsDate(Cells(k, i + 1)) And Cells(k, i + 1) >= DateValue("01.04.2017")) And InStr(Cells(k, i + 1), " ") = 0 And InStr(Cells(k, i + 1), ",") = 0 Then
                Cells(k, i + 1).Interior.Color = xlNone
            Else
               Cells(k, i + 1).Interior.Color = vbRed
               
                ilastrow = Worksheets("ОШИБКИ").Cells(Rows.Count, 1).End(xlUp).Row + 1
               ActiveSheet.Range("B" & k & ":K" & k).Copy Destination:=Worksheets("ОШИБКИ").Cells(ilastrow, 1)
               Worksheets("ОШИБКИ").Cells(ilastrow, 11) = ActiveSheet.Cells(4, i + 1).Value
               ActiveSheet.Cells(k, i + 1).Copy Destination:=Worksheets("ОШИБКИ").Cells(ilastrow, 12)
               
               Worksheets("ОШИБКИ").Cells(ilastrow, 12).Hyperlinks.Delete
               Worksheets("ОШИБКИ").Hyperlinks.Add Anchor:=Worksheets("ОШИБКИ").Cells(ilastrow, 12), Address:="", _
               SubAddress:="'" & "отчет" & "'!" & ActiveSheet.Cells(k, i + 1).Address(0, 0), _
               ScreenTip:="Перейти на: " & "отчет" & "!" & ActiveSheet.Cells(k, i + 1).Address(0, 0)
               
            End If
         
 'проверяем формат данных внесенных в ячейки в столбцах дата вручения
            If IsEmpty(Cells(k, i + 2)) Or (IsDate(Cells(k, i + 2)) And Cells(k, i + 2) >= DateValue("01.04.2017")) And InStr(Cells(k, i + 2), " ") = 0 And InStr(Cells(k, i + 2), ",") = 0 Then
                Cells(k, i + 2).Interior.Color = xlNone
            Else
               Cells(k, i + 2).Interior.Color = vbRed
               
               ilastrow = Worksheets("ОШИБКИ").Cells(Rows.Count, 1).End(xlUp).Row + 1
               ActiveSheet.Range("B" & k & ":K" & k).Copy Destination:=Worksheets("ОШИБКИ").Cells(ilastrow, 1)
               Worksheets("ОШИБКИ").Cells(ilastrow, 11) = ActiveSheet.Cells(4, i + 2).Value
               ActiveSheet.Cells(k, i + 2).Copy Destination:=Worksheets("ОШИБКИ").Cells(ilastrow, 12)
               
               Worksheets("ОШИБКИ").Cells(ilastrow, 12).Hyperlinks.Delete
               Worksheets("ОШИБКИ").Hyperlinks.Add Anchor:=Worksheets("ОШИБКИ").Cells(ilastrow, 12), Address:="", _
               SubAddress:="'" & "отчет" & "'!" & ActiveSheet.Cells(k, i + 2).Address(0, 0), _
               ScreenTip:="Перейти на: " & "отчет" & "!" & ActiveSheet.Cells(k, i + 2).Address(0, 0)
               
            End If

 'проверяем формат данных внесенных в ячейки оплата
            If WorksheetFunction.IsNumber(Cells(k, i + 3)) Or IsEmpty(Cells(k, i + 3)) Then
                Cells(k, i + 3).Interior.Color = xlNone
            Else
               Cells(k, i + 3).Interior.Color = vbRed
               
               ilastrow = Worksheets("ОШИБКИ").Cells(Rows.Count, 1).End(xlUp).Row + 1
               ActiveSheet.Range("B" & k & ":K" & k).Copy Destination:=Worksheets("ОШИБКИ").Cells(ilastrow, 1)
               Worksheets("ОШИБКИ").Cells(ilastrow, 11) = ActiveSheet.Cells(4, i + 3).Value
               ActiveSheet.Cells(k, i + 3).Copy Destination:=Worksheets("ОШИБКИ").Cells(ilastrow, 12)
                              
               Worksheets("ОШИБКИ").Cells(ilastrow, 12).Hyperlinks.Delete
               Worksheets("ОШИБКИ").Hyperlinks.Add Anchor:=Worksheets("ОШИБКИ").Cells(ilastrow, 12), Address:="", _
               SubAddress:="'" & "отчет" & "'!" & ActiveSheet.Cells(k, i + 3).Address(0, 0), _
               ScreenTip:="Перейти на: " & "отчет" & "!" & ActiveSheet.Cells(k, i + 3).Address(0, 0)
               
            End If
'
' проверяем формат данных внесенных в ячейки в столбцах дата оплаты
            If IsEmpty(Cells(k, i + 4)) Or (IsDate(Cells(k, i + 4)) And Cells(k, i + 4) >= DateValue("01.04.2017")) And InStr(Cells(k, i + 4), " ") = 0 And InStr(Cells(k, i + 4), ",") = 0 Then
                Cells(k, i + 4).Interior.Color = xlNone
            Else
               Cells(k, i + 4).Interior.Color = vbRed
               
               ilastrow = Worksheets("ОШИБКИ").Cells(Rows.Count, 1).End(xlUp).Row + 1
               ActiveSheet.Range("B" & k & ":K" & k).Copy Destination:=Worksheets("ОШИБКИ").Cells(ilastrow, 1)
               Worksheets("ОШИБКИ").Cells(ilastrow, 11) = ActiveSheet.Cells(4, i + 4).Value
               ActiveSheet.Cells(k, i + 4).Copy Destination:=Worksheets("ОШИБКИ").Cells(ilastrow, 12)
                              
               Worksheets("ОШИБКИ").Cells(ilastrow, 12).Hyperlinks.Delete
               Worksheets("ОШИБКИ").Hyperlinks.Add Anchor:=Worksheets("ОШИБКИ").Cells(ilastrow, 12), Address:="", _
               SubAddress:="'" & "отчет" & "'!" & ActiveSheet.Cells(k, i + 4).Address(0, 0), _
               ScreenTip:="Перейти на: " & "отчет" & "!" & ActiveSheet.Cells(k, i + 4).Address(0, 0)
               
            End If

 'проверяем формат данных внесенных в ячейки в столбцах дата отправки претензии
            If IsEmpty(Cells(k, i + 5)) Or (IsDate(Cells(k, i + 5)) And Cells(k, i + 5) >= DateValue("01.04.2017")) And InStr(Cells(k, i + 5), " ") = 0 And InStr(Cells(k, i + 5), ",") = 0 Then
                Cells(k, i + 5).Interior.Color = xlNone
            Else
               Cells(k, i + 5).Interior.Color = vbRed
                              
               ilastrow = Worksheets("ОШИБКИ").Cells(Rows.Count, 1).End(xlUp).Row + 1
               ActiveSheet.Range("B" & k & ":K" & k).Copy Destination:=Worksheets("ОШИБКИ").Cells(ilastrow, 1)
               Worksheets("ОШИБКИ").Cells(ilastrow, 11) = ActiveSheet.Cells(4, i + 5).Value
               ActiveSheet.Cells(k, i + 5).Copy Destination:=Worksheets("ОШИБКИ").Cells(ilastrow, 12)
                              
               Worksheets("ОШИБКИ").Cells(ilastrow, 12).Hyperlinks.Delete
               Worksheets("ОШИБКИ").Hyperlinks.Add Anchor:=Worksheets("ОШИБКИ").Cells(ilastrow, 12), Address:="", _
               SubAddress:="'" & "отчет" & "'!" & ActiveSheet.Cells(k, i + 5).Address(0, 0), _
               ScreenTip:="Перейти на: " & "отчет" & "!" & ActiveSheet.Cells(k, i + 5).Address(0, 0)
               
            End If
        
        Next i
     Next k
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.Calculation = xlCalculationAutomatic
Worksheets("ОШИБКИ").Activate
End Sub


Изменено: Mershik - 20 апр 2020 14:22:52
Не бойтесь совершенства. Вам его не достичь.
Пропали расширенные параметры в "разделить столбец" в PQ
 
Всем доброго времени суток.
Установил 2016 офис, попытался разделить с помощью PQ ячейку по строкам как обычно выделил столбец - разделить-столбец- выбрал разделитель -каждое вхождение -дальше вместо расширенных настроек где и выбирал по строкам  -  только дополнительные варианты..подскажите где в это версии эта функция
Изменено: Mershik - 27 фев 2020 21:33:38
Не бойтесь совершенства. Вам его не достичь.
Удаление символов в числовых значениях выгруженных из 1С в определенном диапазоне во всех листах книги
 
Всем доброго времени суток, прошу Вашей помощи, при выгрузке данных из 1С у меня числа имеют символы их пытаюсь удалить с помощью макроса, но почему-то происходит удаление запятых...в файле показал что есть, что получается и что должно быть. Макрос не мой нашел на просторах интернета...Если можно его переделать замену на определенный диапазон всех листов, т.е. допустим S1:Z2000 на каждом листе книги.
Скрытый текст
Изменено: Mershik - 27 ноя 2019 17:38:40
Не бойтесь совершенства. Вам его не достичь.
При запуске очистки книги выдает ошибку.
 
Почему пишет "Индекс указанного набора выходит за допустимые пределы" при запуске очистки книги в надстройке.
Не бойтесь совершенства. Вам его не достичь.
Суммирование ежемесячно повторяющихся столбцов которые имеют нужное название и попадают в диапазон указанных месяцев при помощи VBA
 
Всем доброго времени суток, решил по чуть чуть уходить от своих формул.
Первым делом попала формула суммесли().
Есть БД договоров, каждая строка это отдельный договор,  необходимо посчитать для каждой строки (начиная с 5) сумму столбцов с названием "Реализация" в строке 3 и за период попадающий в выбранный диапазон месяцев включительно  (ячейки AM1 и AO1).
т.е. формулой я решал этот вопрос находил 1 и последний месяц участвующие в расчете из него делал ИНДКСОМ диапазон и дальше уже искал.
Решение я  получил как раз на оснвоании формулы, но как по мне оно громоздкое и что-то подсказывает мне, можно сделать все деликатнее.
Хочу узнать возможны ли корректировки макроса для его более удобного и максимально понятного упрощения.

в столбце AN приведено решение формулой.
ну и сам макрос:
Код
Sub суммесли()
Application.ScreenUpdating = False ' Отключаем обновление экрана
i = 5 'начало данных
o = 3 'шапка
Do Until Sheets("Отчет").Cells(i, 2) = ""
If Sheets("Отчет").Cells(i, 2) <> "" Then
    'начало диапазон для условия
NomStolbca1 = Rows(2).Find("Реализация", , xlValues, xlWhole).Column + 2 ' определяем № столбца со словом реализация,и № столбца назания 1 месяца участвующего в расчете
BukvaStolbca1 = Split(Cells(1, NomStolbca1).Address, "$")(1) 'определяем буквенное название столбца где указан № 1 месяц участвующий в расчете
Mesyac1 = Range(BukvaStolbca1 & 1) 'определяем название 1го месяца участвующего в расчете
DiapazonNachalo1 = Rows(2).Find(Mesyac1, , xlValues, xlWhole).Address 'адресс столбца где находится начало диапазона с 1 месяцем участвующем в расчет
BukvaDiapazonNachalo1 = Split(DiapazonNachalo1, "$")(1) ' буква столбца 1 месяца участвующего в расчет
Diapazon1 = Range(BukvaDiapazonNachalo1 & o).Address ' начало диапозона т.е. 1 месяц участвующий в расчете
    'конец диапазона для условия
NomStolbca2 = NomStolbca1 - 2 ' определяем № столбца со словом реализация, и № столбца названия последнего месяца участвующего в расчете
BukvaStolbca2 = Split(Cells(1, NomStolbca2).Address, "$")(1) 'определяем буквенное название столбца где указан последний месяц участвующий в расчете
Mesyac1 = Range(BukvaStolbca2 & 1) 'определяем название ПОСЛЕДНЕГО месяца участвующего в расчете
Stolbec2 = Rows(2).Find(Mesyac1, , xlValues, xlWhole).Column '
Diapazon2 = Cells(o, Stolbec2).Address
     'весь диапазон 1 для условия
    DiapazonYsloviya1 = Range(Diapazon1 & ":" & Diapazon2).Address ' первый диапазон для условия суммесли
    'диапазон для суммирования
Diapazon3 = Range(BukvaDiapazonNachalo1 & i).Address
Diapazon4 = Cells(i, Stolbec2).Address
DiapazonSummirovamiya = Range(Diapazon3 & ":" & Diapazon4).Address

Range(BukvaStolbca2 & i).Value = WorksheetFunction.SumIf(Range(DiapazonYsloviya1), "Реализация", Range(DiapazonSummirovamiya))
End If
i = i + 1
Loop
Application.ScreenUpdating = 1 ' включаем обновление экрана
End Sub
Изменено: Mershik - 26 июн 2019 12:51:05
Не бойтесь совершенства. Вам его не достичь.
Макрос для одновременного удаления фильтра на листе,отображения скрытых строк и/или столбцов
 
Всем доброго времени суток, пытаюсь по чуть чуть изучать азы VBA, но знаний нет практически. Поэтому обращаюсь к форумчанам за помощью.
Есть вот такой макрос:
Скрытый текст

Суть его в том что бы он убирал все фильтры на листе, показывал скрытые столбцы и строки (если таковые есть) и копировал нужный мне диапазон..
Загвоздка сейчас в том если есть скрытые строки или столбцы макрос нужно дважды вызвать, что бы отобразились скрытые данные...Подскажите как изменить макрос.. Данный макрос запускаться будет из персональной книги макросов (надеюсь правильно обозвал ее). Всем спасибо за будущую помощь.
Изменено: Mershik - 19 июн 2019 11:42:11
Не бойтесь совершенства. Вам его не достичь.
Суммирование помесячно значений оплат при условии, что дата оплаты входит в расчетный месяц.
 
Всем доброго времени суток, прошу Вашей помощи. Суть задачи такова :
Имеется отчет в котором ежедневно разносятся оплаты по более чем 1500 тысячи договорам, т.е. оплаты приходят ежедневно и разносятся в месяц за который они пришли с указанием суммы в столбце "Оплачено потребителем за расчетный период" на листе "отчет" и "Дата оплаты", т.е. сегодня может прийти оплата за апрель 2017 года или любой другой период который есть в отчете на листе "отчет".

в связи с чем возникла необходимость вести общие поступления в каждом месяце т.е. относить оплату в тот месяц в котором она произведена.
Решение которое работало до определенного момента на листе "оплаты" выделены красным  в Т72 - показано что работает с определенным количеством столбцов, но как только добавляю больше столбцов или строк то выдает ошибку #ЗНАЧ - в ячейке Т73.

Лишние столбцы очистил и скрыл все что нужно отображено.  
Изменено: Mershik - 21 фев 2019 10:57:04
Не бойтесь совершенства. Вам его не достичь.
Суммирование помесячных значений при условии наличия даты в ячейках.
 
Всем доброго времени суток, нужна помощь, чет не могу сообразить.
Есть табличка каждая строка это договор, по нему в столбцы "реализация" ежемесячно производятся начисления в рублях и дальше отмечается даты отправки и вручения документов на оплату за каждый расчетный период.. я подсчитываю сумму отправленных и врученных документов в столбцах AL и AM соответственно(выделил желтым цветом), проблема заключается в том что при добавлении нового месяца мне необходимо добавлять в формулу условия проверки типа, и снова + если(...) для нового месяца
Код
 =ЕСЛИ(N5>0;M5;0)+ЕСЛИ(T5>0;S5;0)+ЕСЛИ(Z5>0;Y5;0)
а хотелось бы что бы например для "Сумма отправленных документов на оплату потребителю, руб."  проверялся второй столбец после реализации каждого месяца и если там не пусто то суммировалось если нет даты (пусто) то 0.

Большое спасибо.
Изменено: Mershik - 3 дек 2018 14:56:59
Не бойтесь совершенства. Вам его не достичь.
Курсы(обучение) VBA
 
Всем доброго времени суток, кто нибудь знает качественные курсы обучения VBA, если да то можно сссылку на них или названия ну и желательно в Москве, ну или  дистанционно.  Спасибо.
Изменено: Mershik - 28 ноя 2018 16:04:31
Не бойтесь совершенства. Вам его не достичь.
Ребята! подскажите куда делись все записи с форума за 24 числ?
 
Ребята! подскажите куда делись все записи с форума за 24 числ?
Изменено: a.i.mershik - 24 сен 2018 21:43:50
Не бойтесь совершенства. Вам его не достичь.
Активации PLEX
 
Ребята, доброго времени суток всем!
Прошу Вас объясните если у меня дома компьютер и на работе я установлю там и там PLEX. - это считается 2 активации??
если я переустановлю винду и там и там м заново активирую то это снова 2 активации??
и если допустим сменю работу удалю с рабочего компа плекс и установлю на новом рабочем месте..это + еще одна активация?
Не бойтесь совершенства. Вам его не достичь.
Отключить появление ошибки в формулах #ЗНАЧ при ссылке на недоступный файл.
 
Всем доброго времени суток, есть ежедневные отчеты в количестве 2 шт. в которые вносятся изменения, они всегда делаются на 1 одном компьютере, после чего рассылаются руководителям, в одном файле есть формулы которые ссылаются на другой файл, и при пересылке и открытии на другом компьютере там высвечивается ошибка #ЗНАЧ. Вопрос как оставить те значения которые были изначально в формулах и не пытаться пересчитывать их так как файл на который они ссылаются недоступен для них ( ранее у меня они оставались без перерасчета и ошибка высвечивалась когда вносили изменения в ячейку но теперь почему не так).
формула используются суммеслимн.
Не бойтесь совершенства. Вам его не достичь.
Суммирование массива с условием и указанием вручную последнего столбца месяца, задействованного в расчете.
 
Добрый день.
Прошу помощи в составлении формулы. Есть месяцы под каждым из них содержится 6 столбцов связанные с финансовой деятельностью за данный месяц.
Периодически нужно добавлять или убирать информацию нескольких последних месяцев. т.е. сумма реализаций за весь период или сумма реализаций без учета 2х последних, затрудняется это тем что нужно постоянно редактировать формулу. В файле примере для столбца CS "реализация"  и CV "Оплачено" я сделал формулы которые считают как раз то что мне нужно, быстрым указанием последнего нужно в расчетах столбца.... а вот для столбцов CT "Сумма отправленных документов на оплату потребителю, руб." CU "Сумма врученных документов на оплату потребителю" не получается так как там есть условие.
Суть в чем - хочется что бы как для столбцов оплата и реализация при  указании конца диапазона проводилось суммирование столбца реализация, но учитывались даты отправки/вручения документов. для каждого месяца отдельно и в сумму попадали только те у которых дата указана. Есть ли возможность это сделать одной формулой без дополнительных вычислений.
Изменено: a.i.mershik - 26 июн 2018 12:04:28
Не бойтесь совершенства. Вам его не достичь.
Уйти от условного форматирования, применив VBA
 
Всем добрый день, подскажите есть большой файл( более 6000 строк) в котором много проверок через УФ...и как понимаете файл очень сильно тормозит. Есть ли  у кого-то ссылка или пример макроса где можно задать условия для выделения, что бы уйти от УФ и ускорить работу файла.
Изменено: a.i.mershik - 11 апр 2018 14:05:48
Не бойтесь совершенства. Вам его не достичь.
Суммирование столбцов по условиям.
 
Добрый день!
Прошу помощи. Есть таблица в которой данные обновляется ежедневно (пример таблицы в приложении). Необходимо ежедневно сводить сколько денег поступило в каждом месяце ... т.е. есть колонка "Оплачено потребителем за расчетный период" - в нем указывается сумма оплаты и есть столбцы с названием "Дата оплаты" - здесь указывается дата когда была проведена оплата -в каждом месяцы даты разные так как оплаты приходят с запозданием и иногда только по решению суда, и разносятся они в тот месяц который указан в платежном поручении (пример: в марте могут оплатить за январь, или за март или за февраль и т.д.)
Условия такие:
в феврале должны отображаться все суммы столбцов "Оплачено потребителем за расчетный период"  которые поступили столбец "Дата оплаты" не позже 28.02.2018.
в марте - только плтаы поступившие с 01.03.2018 по 31.03.2018 и т.д. для следующих месяцев.

Сейчас в примере отображается формулами как и что считается, но проблема заключается в следующем, что каждый новый месяц надо добавлять в формулу ссылки уже на новый месяц... Вопрос заключается в том что бы понять есть ли возможность сделать формулу проставить таким способом что бы он сам определял столбцы с оплатой(что суммировать) + соседний столбец  "Дата оплаты" анализировал (условие) и прибавлял если условия соответствуют.  
Не бойтесь совершенства. Вам его не достичь.
Суммировать по нескольким условиям значений с автоматическим определением диапазона суммирования.
 
Добрый день, всем, прошу Вашей помощи.
Подскажите есть ли возможность  использовать для расчета диапазон автоматически определающийся.
Понимаю можно СУММЕСЛИМН использовать но хотел бы понять возможно ли использовать не прямые ссылки а вот определенные с помощью формул по условиям. Хочется что бы просто при смене наименования месяца все считалось само....
Файл прилагаю.
Не бойтесь совершенства. Вам его не достичь.
Поиск и подстановка соответсвующих значений с учетом 2 условий - через макрос.
 
Всем доброго дня!
Нужна Ваша помощь, не пойму как переделать макрос, что бы учитывался еще один параметр при заполнении таблицы.
Т.е. на Лист1 есть таблица куда подтягиваются значения из Лист2...
Сейчас они подставляются только по одному условия столбца "Номер заявки"... но необходимо еще учитывать второй параметр - это номер бланка. т.к. заявка может быть одна но бланки разные...
Подскажите что добавить и куда...
Изменено: a.i.mershik - 21 дек 2017 12:41:45
Не бойтесь совершенства. Вам его не достичь.
Как сохранять копию файла в папку при открытии в название добавить дату и время сохранения
 
Ребята, добрый день, подскажите есть у кого-то в загашнике  макрос сохранения копии книги при открытии  в папку и добавить к имени дату и время сохранения...
Не бойтесь совершенства. Вам его не достичь.
Автоматическая замена данных выбранных из выпадающих списков при изменении или переименовании данных для списков.
 
Есть лист на котором может быть использовано несколько выпадающих списков (для примера привожу 3 - вообще их около 10). Данные списки нужны для недопущения не корректного ввода данных ответственными лицами. (а их окло 25 человек). Раньше производил замену с помощью НАЙТИ и ЗАМЕНИТЬ, но посмотрел, что это можно делать гораздо быстрее макросом.
Прошу Вашей помощи в создании данного макроса.
Списки утверждены руководством, но так как руководство имеет свойства пересматривать все то и списки часто меняются. Необходим макрос который заменял бы значения в ячейках выбранных из выпадающего списка на новые, в случае изменения утвержденных списков (переименования того или иного пункта - допустим с "да" на "В наличии" с "Платежеспособный" на "Добросовестный" или "ГУ ЖФ ООО" на "ООО "ГУЖФ" и в таком духе.  
Не бойтесь совершенства. Вам его не достичь.
Подстановка значений в таблицу по 2 условиям
 
Всем привет! Прошу помощи у Вас. Есть таблица которую заполняют указывая напротив фамилии необходимый для них номер сборки (лист "заказ").

Нужно на лист "свод" перенести данные при условии, что фамилии могут быть разбросаны в хаотичном порядке и номера сборок раскидать по соответствующим столбцам (номер 1 в столбец с номером 1 и тд.). Это необходимо для того что просчитать потом массу и распределить по водителям.
Не бойтесь совершенства. Вам его не достичь.
Найти и перейти на первое и последнее искомое значение в столбце.
 
Всем доброго времени суток, помогите пожалуйста.
Есть огромная таблица в которой много данных, но все они отсортированы по именам и нужно что бы выбрать из списка необходимое  имя и рядом нажав на ячейку (ссылку) переходило на первое найденное значение и вторая на поселение найденное.
Изменено: a.i.mershik - 16 окт 2017 10:29:17
Не бойтесь совершенства. Вам его не достичь.
Поиск части текста в ячейке по справочнику и подстановка данных соответствующих найденному значению.
 
Добрый день, нужна помощь, чет не могу формулу прописать, писал через много если условий не удобно все условия не проверить. Есть оплаты в которых пишут назначение платежа, платежей в день может быть много и каждый платеж относится к разным субъектам организации. Необходимо найти совпадения  и рядом проставить необходимый номер и если не находит данных написать что "не указан договор и/или оплата другого субъекта РФ
Изменено: a.i.mershik - 5 окт 2017 15:56:57
Не бойтесь совершенства. Вам его не достичь.
В зависимости от значения ячейки подставить нужный диапазон дат.
 
Всем доброго времени суток! Подскажите есть ли возможность решения такого вопроса. Есть месяца  и даты начала месяца и конца. В случае если в ячейке стоит "1" необходимо поставить даты с 1 числа по последнее число месяца под которым оно написано, если месяца подряд идут - необходимо указать 1 число первого по счету месяца и последнее число последнего месяца, если же месяца разбросаны (стоят "1" в разброс) то указать нужно 1 число первого месяца с "1"  и далее следующий так же.
Не бойтесь совершенства. Вам его не достичь.
Печать последних двух листов на обеих сторонах.
 
Доброго времени суток, ребята!
Подскажите пожалуйста есть ли возможность макросом или просто настройки печатать - последние два листа печатать на обеих сторонах, а первые обычной(на одной) печатью.
Просто необходимо что бы на обороте был написан исполнить на последнем листе.
Изменено: a.i.mershik - 10 сен 2017 20:20:14
Не бойтесь совершенства. Вам его не достичь.
Поиск частичного совпадения в ячейке и подстановка значения соответствующего найденому совпадению.
 
Добрый день, гуру EXCEL, нужна помощь. Нужно, что бы в ячейке "C" проставлялась принадлежность к какой конторе относится данный платеж, по частичному соответствию поиска текста в ячейке. У каждой конторы номер начинается  с определенных цифр… В таблице с права сделал.
То есть если в ячейке B2 находит совпадение соответствующее одной из КОНТОТОР то подставлял необходимую контору. Если совпадений нет вообще то писал "ПЕРЕПРОВЕРИТЬ"
пытался через много условий если. Выдавало ошибку.
Изменено: a.i.mershik - 6 июл 2017 13:40:28
Не бойтесь совершенства. Вам его не достичь.
Поставить дату и время (дата изменения) в ячейку если было хоть одно изменение в строке
 
Всем добрый день, нужна помощь, здесь на нашел код. Помогите его переделать, что бы он реагировал на определенный диапазон изменений и самое главное что изменением является АВТОМАТИЧЕСКИЙ пересчет формулы.
Есть два листа ТХ и ВКХ - они являются рабочими туда ежедневно вносятся изменения, а на листе СВОД - на основании данных выводится отчет. И для контроля изменений когда последний раз менялись сводные данные по каждому объекту ЗВО и ВКС - нужно что бы в столбце P (ДАТА изменения данных) напротив  строки в которой изменились данные и ставилась дата  и время изменения хоть. Ссылка на код который нашел http://www.planetaexcel.ru/techniques/6/44/
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     
    For Each cell In Target   'проходим по всем измененным ячейкам
       If Not Intersect(cell, Range("A2:A100")) Is Nothing Then  'если изменененная ячейка попадает в диапазон A2:A100
            With cell.Offset(0, 1)         'вводим в соседнюю справа ячейку дату
               .Value = Now
               .EntireColumn.AutoFit  'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
            End With
       End If
    Next cell
End Sub
Изменено: a.i.mershik - 29 июн 2017 11:04:12
Не бойтесь совершенства. Вам его не достичь.
Поиск похожего значения и перенос данных находящихся под ним
 
Всем, добрый день, подскажите как осуществить поиск в столбце "B" Данных находящихся (написание название разное, но примерно похожи) в столбце "D" и перенести из столбца "B" в столбцы "E" = ИНН и "F" = КПП организаций (они расположены под каждым наименованием).
Не бойтесь совершенства. Вам его не достичь.
Поиск чисел которые при суммировании между собой будут давать сумму равную/или максимально приближенную к максимульному.
 
Добрый день, прошу помощи, есть значения для суммирования (А2:А18) и есть число (В1). Необходимо выбрать такие значение из диапазона для суммирования , что бы они в сумме давали результат равный либо максимально приближенный (только меньше) значения числа. Может определить в каких строках находятся числа для суммирования или выделение их цветом.Лист Microsoft Excel.xlsx (10.36 КБ)  
Изменено: a.i.mershik - 13 июн 2017 13:46:45
Не бойтесь совершенства. Вам его не достичь.
Страницы: 1 2 След.
Наверх