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

Страницы: 1
Поиск значений по 3-м параметрам с не точным совпадением одного параметра...
 
Доброго времени суток!
Не думал что столкнусь с такой проблемой. Достаточно хорошо знаю Excel. Но все таки нужно обращаться за помощью. Уже второй день сижу и не могу найти решение.
С помощью функции ВПР или ИНДЕКС и ПОИСКПОЗ или СМЕЩ можно найти интересующее значение по двум параметрам. С этой задачей данные функции справляются на ура. А что делать если нужно найти значение по 3-м параметрам? Можно было бы использовать СУММЕСЛИМН, но есть маленькая деталь... Эта деталь заключается в поле "Дата".
Есть таблица с информацией об изменении окладов (лист "Исходник) где стоит дата изменения, и нужно из этой таблицы вытащить данные в другую таблицу по Дате, ФИО и по названию вида затрат (Оклад или налог). Проблема в том что Дата в конечной таблице не будет совпадать с датой в источнике и нужно найти ближайшую дату изменения оклада, потом ФИО и вытянуть расходы. Так как в Исходнике есть информация о предыдущих окладах то нужно чтобы в новую таблицу они попали по датам правильно.
Прилагаю файл с примером. В лист "База" нужно вытянуть данные об окладе и ндфл из листа "Исходник". Ячейки окрашены.
Может кто-нибудь подскажет хитроумную конструкцию)
Изменено: dimabk - 04.04.2019 00:39:38
Сложение чисел написанных через дробь
 
Нужно сложить числа написанные в одной ячейке через дробь. Например, в ячейке написано 1/200/50/60. Нужно в другую ячейку написать результат сложения этих чисел, т.е. 311. Хотелось бы через процедуру Function это реализовать если макросом решать вопрос, или лучше всего встроенными функциями. Все перепробовал ничего не получается.
VBA Объединение ячеек в шапке таблицы, Необходимо для создания законченного образа шапки таблицы
 
Добрый день! Прошу вашей помощи так как зашел в тупик при написании кода и поиск подобного не находит. Пытаюсь написать макрос который сам объединил бы ячейки в шапке таблицы по иерархии. В файле понятнее станет не примере.
Во вложении файл где указано "как было" и "как хотелось бы". Ниже привожу варианты кода которые не могу закончить.
Заранее большое спасибо.

Код
Sub MergeHeadTest2()
Dim mas() As Long
Dim sel As Range
Dim cl As Range
Dim r, c, i As Long
Set sel = Selection
sel.UnMerge
r = 1
c = 1
i = 1
For c = 1 To sel.Columns.Count
    If sel.Cells(r, c).Value <> "" Then
        If c - i = 1 Then
            Range(sel.Cells(r, i), sel.Cells(sel.Rows.Count, i)).Merge
            i = i + 1
        ElseIf c - i > 1 Then
            Range(sel.Cells(r, i), sel.Cells(r, c - 1)).Merge
        End If
    End If
Next c
End Sub

Код
Sub MergeHeadTest()
'Объединение ячеек в заголовке
Dim i As Integer
Dim j As Integer
Dim g As Range
Dim mas()
Set g = Selection
    With g
        For i = 1 To .Columns.Count
            If .Cells(1, i).Value <> "" Then
                j = j + 1
                ReDim Preserve mas(1 To j)
                mas(j) = i
            End If
        Next i
        If mas(UBound(mas)) <> .Columns.Count Then
            j = j + 1
            ReDim Preserve mas(1 To j)
            mas(j) = .Columns.Count
        End If
        For i = LBound(mas) To UBound(mas)
            If i = UBound(mas) Then
                Range(.Cells(1, mas(i)), .Cells(1, mas(i))).Merge
            Else
                Range(.Cells(1, mas(i)), .Cells(1, mas(i + 1) - 1)).Merge
            End If
        Next i
        If .Rows.Count > 1 Then
            For i = LBound(mas) To UBound(mas)
                If i = UBound(mas) Then
                    Range(.Cells(1, mas(i)), .Cells(1, mas(i))).Merge
                Else
                    Range(.Cells(1, mas(i)), .Cells(1, mas(i + 1) - 1)).Merge
                End If
            Next i
        End If
    End With

End Sub
VBA Excel: Как разделить выделенный диапазон на области?, Хочется выделенную таблицу разделить на блоки и отформатировать отдельно
 
Добрый день!
Поискал, погуглил но что то не нашел нужного. Возможно с ключевыми словами не угадал. Поэтому обращаюсь к вам.
Хочу сделать автоформат таблицы по своим параметрам. Сейчас основной тупик в том как разделить выделенный диапазон на области, т.е. область данных (значения, формулы и т.д.), область заголовка (одна или более строк), область подписей (обычно слева построчно), область итога по строкам, область итога по столбцам.
Хотелось бы знать адреса всех этих областей и манипулировать ими уже как мне нужно.
Начинаю с CurrentRegion
Код
Sub Test()
Dim rng as Range
'Выделяем текущую область
Set rng = Activecell.CurrentRegion
rng.Select
End Sub
Подпись таблицы тоже захватывается, ее надо убрать из выделенного диапазона.
Конечно можно создать форму и вставить туда элемент управления RefEdit несколько штук и все области повыделять, но это долго и не интересно.
Прошу вашей помощи)
Файл во вложении как пример.
Страницы: 1
Loading...