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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 214 След.
Фильтр с двумя критериями, Нужна помощь по фильтру
 
Вариант с дополнительным столбцом. Вставьте в строку 2 и протяните вниз. Фильтруйте по 2.
Код
=ЕСЛИ(A2="InterestRate";2;ЕСЛИ(И(ЛЕВСИМВ(A2;3)="Кр-";F3=1);2;ЕСЛИ(ЛЕВСИМВ(A3;3)="Кр-";0;ЕСЛИ(A3="InterestRate";1;F3))))
Фильтр с двумя критериями, Нужна помощь по фильтру
 
Фильтр-Текстовые фильтры-Содержит...-Содержит [InterestRate ]-ИЛИ-Содержит [Кр-]
[ Закрыто] Макрос с кнопкой, Макрос с кнопкой для формирования заявки с пропуском пустых строк
 
Цитата
написал:
Вопрос решен.
Очевидно, не решён )

Печать только нужного (не пустого) диапазона (planetaexcel.ru)
Объединение листов
 
ДВССЫЛ()
Из столбца с названием предприятия и несколькими его адресами извлечь с повтором название предприятия., Помощь при обработке данных Excel/Данные таблицы Excel
 
Выделите ячейки, запустите макрос.
Код
Sub myFill()
    ActiveSheet.Copy
    
    Dim rr As Range
    Set rr = Intersect(Selection, ActiveSheet.UsedRange)
    
    Selection.EntireColumn.Columns(1).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Dim rb As Range
    Dim cl As Range
    For Each cl In rr.Columns(1).Cells
        Debug.Print cl.Value
        If cl.Font.Bold Then
            Set rb = cl
        End If
        If Not rb Is Nothing Then
            rb.Copy cl.Offset(, -1)
        End If
    Next
    rb.Offset(, -1).EntireColumn.AutoFit
End Sub
Максимальное кол-во пустых ячеек между непустыми ячейками, Максимальное кол-во пустых ячеек между непустыми ячейками
 
Вариант через пользовательскую функцию.
Код
=МАКСНЕПУТЫХ(B2:P2)
Код
Function МАКСНЕПУТЫХ(Диапазон As Range) As Long
    Dim arr As Variant
    arr = Диапазон
    
    Dim res As Long
    Dim nn As Long
    Dim ya As Long
    Dim xa As Long
    Dim x1 As Long
    Dim x2 As Long
    For ya = 1 To UBound(arr, 1)
        
        For x1 = 1 To UBound(arr, 2)
            If Not IsEmpty(arr(ya, x1)) Then Exit For
        Next
        For x2 = UBound(arr, 2) To 1 Step -1
            If Not IsEmpty(arr(ya, x2)) Then Exit For
        Next
        
        nn = 0
        For xa = x1 To x2
            If IsEmpty(arr(ya, xa)) Then
                nn = nn + 1
                If res < nn Then res = nn
            Else
                nn = 0
            End If
        Next
    Next
    МАКСНЕПУТЫХ = res
End Function
Копирование данных из одного Эксель в другой по Ключевому слову
 
Код
=ЕСЛИОШИБКА(ЕСЛИ(ВПР(A:A;'[ФАЙЛ НОМЕР 2.xlsx]Лист1'!$A:$D;3;0)="";ВПР(A:A;'[ФАЙЛ НОМЕР 2.xlsx]Лист1'!$A:$D;4;0);ВПР(A:A;'[ФАЙЛ НОМЕР 2.xlsx]Лист1'!$A:$D;3;0));"")
Формула массива, которая подтягивает к числам данные из соседней таблицы, которые соответствуют по условию
 
Код
=ВПР(;;;1)
Можно обойтись ВПР с параметром 1.
Преобразовать дату в месяц (дата выгружается не корректно), дата выгружается не корректно
 
Код
=ДАТАЗНАЧ(ПОДСТАВИТЬ(B4;СИМВОЛ(10);""))
Сумма количества дней из диапазона согласно заданным условиям
 
Код
=МИН($E6;F$2)-МАКС($D6;F$1)
Так?
Функция РАЗНДАТ некорректно определяет количество месяцев
 
07.03.2024
Сложносочиненная ИНДЕКС-ПОИСКПОЗ, Не удаётся правильно составить формулу
 
Код
=ЕСЛИОШИБКА(ИНДЕКС(Таблица2[Контракт];1/(1/МАКС((ЕСЛИОШИБКА(НАЙТИ($A2;Таблица2[Адрес]);0)>0)*(ЕСЛИОШИБКА(НАЙТИ(B$1;Таблица2[Предмет]);0)>0)*(ДЛСТР(Таблица2[Р/н])=7)*СТРОКА(Таблица2[Адрес])))-1);"")
Формула массива.
Анализ и представление
 
Он нас обвиняет в отсутствии дружелюбности!
Быть такого не может! Да что этот обрыган себе позволяет!!!
:D  
Переход к следующему номеру Акта с помощью Макроса
 
Код
Sub myIncrement()
    Dim yy As Long
    yy = GetY(Range("AB1").Value)
    If yy = 0 Then Exit Sub
    Range("AB1").Value = GetKeyRange().Cells(yy + 1, 1).Value
End Sub

Sub myDecrement()
    Dim yy As Long
    yy = GetY(Range("AB1").Value)
    If yy < 2 Then Exit Sub
    Range("AB1").Value = GetKeyRange().Cells(yy - 1, 1).Value
End Sub

Private Function GetY(vValue As Variant)
    On Error Resume Next
    GetY = WorksheetFunction.Match(vValue, GetKeyRange(), 0)
    On Error GoTo 0
End Function

Private Function GetKeyRange() As Range
    Set GetKeyRange = Sheets("Данные АОСР").ListObjects("Данные_для_АОСР").ListColumns("KEY").DataBodyRange
End Function
Анализ и представление
 
Цитата
написал:
Это вариант, так называемого, репроцитного обмена, широко распространенного на ранних стадиях эволюции человеческих сообществ. Почему не вернуться к нему - т.е. Безденежно. Хотя бы в некоторых нетривиальных ситуациях.
Да, были времена! Здорово, наверное, было. Взял поменялся с кем-то репроцитно, и ходишь довольный. Жаль, конечно, что никак не вернуться к "репроцитному обмену"... Вот вы удивитесь, заглянув в ветку Вопросы по Microsoft Excel (planetaexcel.ru). В простонародье её называют бесплатной, но вы можете называть "репроцитной".
Поиск первой пустой ячейки в столбце
 
Код
With Cells(1, "N")
    iLastRow = IIf(IsEmpty(.Value), 1, .End(xlDown).Row + 1)
End With
Анализ и представление
 
Опять же с учётом сказанного выше
Цитата
написал:
компетенции ТСа нам неизвестны
ценность "35-40 страниц А4" не велика не определена.
Вопрос по работе с курсами валют, Подскажите пожалуйста нужную формулу
 
Код
=ВПР(A:A;C:D;2;0)
Выбор листа в формуле по меняющемуся названию в ячейке, Выбор листа в формуле по меняющемуся названию в ячейке
 
Код
=ДВССЫЛ("'"&A1&"'!C1")
Выделение информации из ячейки при помощи макроса, Разработать макрос для автоматического вывода в соседние ячейки отдельных позиций.
 
Вариант через пользовательскую функцию.
Это в стандартный модуль. Alt+F11
Код
Option Explicit

Public Function РАЗДЕЛИТЬ(Строка As String, Индекс_начало As Long, Индекс_конец As Long) As Variant
    Const DLM = "-"
    If InStr(Строка, DLM) = 0 Then
        РАЗДЕЛИТЬ = Строка
    Else
        Dim arr As Variant
        arr = Split(Строка, DLM)
        
        ReverseIndex Индекс_начало, UBound(arr)
        ReverseIndex Индекс_конец, UBound(arr)
        
        Dim brr As Variant
        ReDim brr(Индекс_начало To Индекс_конец)
        
        Dim yb As Long
        For yb = LBound(brr) To UBound(brr)
            brr(yb) = arr(yb)
        Next
        
        РАЗДЕЛИТЬ = Join(brr, DLM)
    End If
End Function

Private Sub ReverseIndex(ind As Long, iUbo As Long)
    If ind < 0 Then
        ind = iUbo + ind + 1
    Else
        ind = ind - 1
    End If
End Sub

Это на лист и протянуть:
Код
G3    =РАЗДЕЛИТЬ($A3;2;2)
H3    =РАЗДЕЛИТЬ($A3;3;3)
I3    =РАЗДЕЛИТЬ($A3;4;-3)
J3    =РАЗДЕЛИТЬ($A3;-2;-2)
Объединение двух таблиц
 
Код
K3:M10    =ИНДЕКС(A$3:A$6;ЦЕЛОЕ((СТРОКА(K1)-1)/ЧСТРОК($E$3:$H$4))+1)
N3:Q10    =ИНДЕКС(E$3:E$4;ОСТАТ(СТРОКА(N1)-1;ЧСТРОК($E$3:$H$4))+1)

Разделение текстовых блоков в ячейке по столбцам, Разделение информации в ячейке
 
Вариант макросом. Выделите ячейки, которые требуется разделить, в вашем случае это столбец C, запустите макрос SplitSelection.
Код
Option Explicit

Private Const CH = ";"

Sub SplitSelection()
    SplitRange Selection
End Sub

Private Sub SplitRange(rn As Range)
    Dim Application_Calculation  As XlCalculation
    Application_Calculation = Application.Calculation
    Application.Calculation = xlCalculationManual

    Set rn = Intersect(rn, rn.Parent.UsedRange)
    Dim arr As Variant
    Dim ya As Long
    Dim cl As Range
    For Each cl In rn.Cells
        If InStr(cl.Value, CH) > 0 Then
            arr = Split(cl.Value, CH)
            For ya = UBound(arr) To LBound(arr) + 1 Step -1
                cl.EntireRow.Copy
                cl.EntireRow.Rows(2).Insert
                cl.Cells(2, 1).Value = Trim(arr(ya))
            Next
            cl.Value = Trim(arr(ya))

        End If
    Next
    Application.CutCopyMode = False
    Application.Calculation = Application_Calculation
End Sub
Создание кнопок увеличивающих/уменьшающих диапазон всех графиков на листе
 
Для типа диаграммы "Точечная" масштаб можно менять макросам, приведёнными ниже. Для гистограммы из вашего примера, видимо, надо менять диапазон данных.
Код
Sub Уменьшить()
    On Error Resume Next
    Dim sp As ChartObject
    For Each sp In ActiveSheet.ChartObjects
        With sp.Chart.Axes(xlCategory)
            .MaximumScale = .MaximumScale - 1
        End With
    Next
End Sub

Sub Увеличить()
    On Error Resume Next
    Dim sp As ChartObject
    For Each sp In ActiveSheet.ChartObjects
        With sp.Chart.Axes(xlCategory)
            .MaximumScale = .MaximumScale + 1
        End With
    Next
End Sub
Хранение структурированных данных (таблиц) в памяти и скорость доступа к ним, How to keep Data in RAM and get it Fast
 
Вывод: большой двумерный массив работает быстрее, чем массив двумерных массивов?
Вставить сумму из одной таблицы по условию из другой не прибегая к допол.колонкам
 
Код
DEL
Изменено: МатросНаЗебре - 21.03.2024 11:01:17 (Предложенное решение работает не всегда.)
HELP!!! Проблемы с PERSONAL.XLSB. Не отображается и не выполняется код макросов
 
Файл - Параметры - Надстройки - (справа список) Отключённые объекты
Выделить столбцы в умной таблице
 
Код
Range(nameTable_2 & "[[" & NameColumn & "]:[" & NameColumnLast & "]]").Select
Нужен макрос
 
Пишу в личку.
Расстановка сроков по диапазону значений
 
Код
AA15:AV15    =ЕСЛИ($B$2>=D15;$B$2-D15;$B$2)
C2           =ИНДЕКС(D14:Y14;ПОИСКПОЗ(МИН(AA15:AV15);AA15:AV15;0))

Вариант с дополнительными вычислениями.
Как правильно сослаться на переменную
 
Код
Const myColumnName = "Moy_UID"
Оператор Const (VBA) | Microsoft Learn
Изменено: МатросНаЗебре - 18.03.2024 09:05:23
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 214 След.
Наверх