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

Страницы: 1 2 След.
Создать все варианты предложений из трех колонок слов
 
Если с макросом подойдет, то вот.

Sub AllVariants()
   lastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
   currRow = 1
   For i = 1 To lastRow
       For j = 1 To lastRow
           For k = 1 To lastRow
              ActiveSheet.Cells(currRow, 4) = ActiveSheet.Cells(i, 1) & ActiveSheet.Cells(j, 2) & ActiveSheet.Cells(k, 3)
              currRow = currRow + 1
           Next k
       Next j
   Next i
End Sub
Скрытие строк по условию, Скрытие строк по условию в выделенном диапазоне
 
Код
Sub HideEmptyCellInRanges()
    Dim i           As Long
    Dim RowRange As Range, cell As Range
    Dim checkedRows As Object
    Dim rangeAddress As String
    Application.ScreenUpdating = False

    If TypeName(Selection) = "Range" Then
        Set checkedRows = CreateObject("Scripting.Dictionary")

        For Each cell In Selection
            i = cell.Row
            rangeAddress = "D" & i & ":H" & i & ",J" & i & ":J" & i & ",L" & i & ":L" & i & ",N" & i & ":P" & i & _
                    ",R" & i & ":R" & i & ",T" & i & ":V" & i & ",X" & i & ":Y" & i & ",AA" & i & ":AA" & i

            If Not checkedRows.exists(i) Then
                checkedRows.Add i, True
                Set RowRange = ActiveSheet.Range(rangeAddress)

                If Application.WorksheetFunction.CountA(RowRange) = 0 Then

                    ActiveSheet.Rows(i).EntireRow.Hidden = True
                End If

            End If

        Next cell

    End If

    Set RowRange = Nothing
    Set checkedRows = Nothing
    Application.ScreenUpdating = True
End Sub


Изменено: vokilook - 22.05.2024 15:34:39
СЧЕТЕСЛИМН игнорирует условие "<>"&ТЕКСТ.
 
Цитата
написал:
вот нет разницы, для функции что "<>"&2024 что "<>2024" - это текст.
Да, это я уже понял. В любом случае сравнение будет с текстом.
Вот только тогда получается что в диапазоне условия числовые значения преобразуются в текстовые и тогда сравнения происходят корректно, а числа сохраненные как текст зачем-то переводятся в числовые (числовые ли, кстати?) и тогда сравнение происходит некорректно.
Hugo, спасибо.
Изменено: vokilook - 06.05.2024 17:44:44
СЧЕТЕСЛИМН игнорирует условие "<>"&ТЕКСТ.
 
Самое странное, что такая формула (2024 без кавычек) тоже не работает:

=СЧЁТЕСЛИМН(D:D;H3;C:C;"<>"&2024)

Получается Эксель автоматически содержимое в диапазоне условия переводит из текста в числовую форму, а в самом условии наоборот из числа в текст. Умно...
СЧЕТЕСЛИМН игнорирует условие "<>"&ТЕКСТ.
 
Sanim, так в этом то и загвоздка. Два соседних столбца - в первом просто текст, во втором число сохранено как текст. В первом столбце "<>" работает, а во втором - не работает. Хочется понять почему.
В любом случае, спасибо за участие.
UPD для лучшего понимания вопроса:
=СЧЁТЕСЛИМН(C:C;"2024";D:D;"<>"&"Югорск") - работает правильно.

=СЧЁТЕСЛИМН(C:C;"<>"&"2024";D:D;"Югорск") - игнорирует "<>"&"2024".
Изменено: vokilook - 06.05.2024 17:11:48
СЧЕТЕСЛИМН игнорирует условие "<>"&ТЕКСТ.
 
Sanim, не соглашусь.

"<>" отлично работает с текстом. Например такая формула считает правильно:
=СЧЁТЕСЛИМН(C:C;"2024";D:D;"<>"&"Югорск")

Подозреваю, что тут дело в том, что в столбце С число сохранено как текст.
СЧЕТЕСЛИМН игнорирует условие "<>"&ТЕКСТ.
 
Пытаюсь посчитать позиции, не относящиеся к 2024 году. С дополнительными преобразованиями вроде получается. Но почему с исходными данными не работает?
Не могу раздвинуть рамки кол-ва строк в массиве
 
Я понимаю. Также понимаю, что всем на запретишь нажимать обновить и сохранять после этого. Поэтому переделал файл. Сейчас нормально должен работать.
Не могу раздвинуть рамки кол-ва строк в массиве
 
Это нормальная реакция для СУМЕСЛИ. Можно просто не нажимать "обновить".
Вот с другой формулой вариант:
=СУММПРОИЗВ('[Cводный журнал - 2024.xlsx]Apr'!$C:$C;(--('[Cводный журнал - 2024.xlsx]Apr'!$A:$A=$A$1))*(--('[Cводный журнал - 2024.xlsx]Apr'!$B:$B="401 "&ПОДСТАВИТЬ(A2;".";":"))))
Не могу раздвинуть рамки кол-ва строк в массиве
 
Добрый день.
Я не большой сторонник добавлять в формулы которые должны выводить числовые значения, вывод текстовых значений. Лучше ничего не выводить или хотя бы прочерк. Но если очень хочется, то можно вот так:
=ЕСЛИ(СУММЕСЛИМН('[Cводный журнал - 2024.xlsx]Apr'!$C:$C;'[Cводный журнал - 2024.xlsx]Apr'!$A:$A;$A$1;'[Cводный журнал - 2024.xlsx]Apr'!$B:$B;"401*";'[Cводный журнал - 2024.xlsx]Apr'!$B:$B;"*"&ПОДСТАВИТЬ(A2;".";":"))<>0;СУММЕСЛИМН('[Cводный журнал - 2024.xlsx]Apr'!$C:$C;'[Cводный журнал - 2024.xlsx]Apr'!$A:$A;$A$1;'[Cводный журнал - 2024.xlsx]Apr'!$B:$B;"401*";'[Cводный журнал - 2024.xlsx]Apr'!$B:$B;"*"&ПОДСТАВИТЬ(A2;".";":"));"пусто")

т.е. добавить в формулу ЕСЛИ =ЕСЛИ(ФОРМУЛА<>0;ФОРМУЛА;"пусто")

Но лучше воспользоваться советами из этой темы:
скрыть нулевые значения
Формат ячеек в вашем случае будет
# ##0,00;-# ##0,00;"пусто"
Не могу раздвинуть рамки кол-ва строк в массиве
 
Шобы я послал девушку... в другую тему? Да за кого вы меня принимаете! )))
Я предложил вариант для названия вашей темы, чтобы ее проще было найти другим.

Цитата
написал:
Я имела ввиду что число при окончании двух смен меняется на следующее.
Можно сделать к примеру, привязку к слову NIGHT. Но следить, чтобы оно обязательно было в нужном столбце.
=$A$2+СЧЁТЕСЛИ($B$3:B3;$B$2)
Не могу раздвинуть рамки кол-ва строк в массиве
 
Вариант названия темы:
"Поиск значений по условию в таблице с разбивкой на диапазоны".
Не могу раздвинуть рамки кол-ва строк в массиве
 
Цитата
написал:
А нельзя ли сделать так чтобы она автоматически протягивалась в этом столбце(Столбец А) по закрытию числа,
Как вариант - такой формулой:

=ЕСЛИ(B3<>"";МАКС($A$1:A2);"")

Только протягивать ее не забывать.
Не могу раздвинуть рамки кол-ва строк в массиве
 
Цитата
написал:
Сотрудник вносит все значения согласно выданному на приборе,он не может их изменить и таблицу изменить тоже не может к сожалению
Если сотрудник добавит столбец с датой в первом столбце, например. Это сильно упростит всем жизнь.
Вплоть до того, что вы сами сможете разобраться с формулой, которая будет выбирать нужные вам значения.
В ином случае вы будете вынуждены каждый раз при непонятной ситуации обращаться на форум.

Подумайте о таком варианте:
Не могу раздвинуть рамки кол-ва строк в массиве
 
Цитата
написал:
Как вы выбирали значения, чтобы залить их желтой заливкой?
Вы так и не ответили на самый главный вопрос.
Цитата
написал:
сотрудник из электронного журнала методом копирования переносит получившиеся значения в сводный журнал
Этот сотрудник может вносить только нужные вам значения? Или хотя бы минимально готовить таблицу, в которую он эти значения копирует?
Не могу раздвинуть рамки кол-ва строк в массиве
 
Как вы выбирали значения, чтобы залить их желтой заливкой?
Цитата
данные вбиваются из электронного журнала
Кем "вбиваются"?
Изменено: vokilook - 03.04.2024 09:28:56
Не могу раздвинуть рамки кол-ва строк в массиве
 
Цитата
написал:
Прикрепила желтым отметила значения которые должны из сводного перейти в оборотную
Непонятно по какому принципу вы выбираете данные. Первое не нулевое значение за час? Или значения с индексом "401"?

Я бы подошел к решению этой задачи с изменения данных в "Сводном" файле, а не пытался собрать систему из хаотично разбросанных значений.
Изменено: vokilook - 03.04.2024 09:14:08
Не могу раздвинуть рамки кол-ва строк в массиве
 
При условии, что данные выводятся не чаще чем 1 раз в час, можно воспользоваться такой функцией:

=СУММПРОИЗВ(--(ПОДСТАВИТЬ(B2;".";":")=ПРАВСИМВ(Лист2!$A$1:$A$62;5));Лист2!$B$1:$B$62)

Если нужно продлить дальше 62 строки - изменить в двух местах 62 на нужную строку.

С поиском минимального:

=НАИМЕНЬШИЙ(--(ПОДСТАВИТЬ(B2;".";":")=ПРАВСИМВ(Лист2!$A$3:$A$62;5))*(--Лист2!$B$3:$B$62<>0)*Лист2!$B$3:$B$62;СТРОКА(Лист2!$A$62)-1-СЧЁТЕСЛИМН(Лист2!$A$3:$A$62;"*"&ПОДСТАВИТЬ($B2;".";":")&"*";Лист2!$B$3:$B$62;">0"))

Если нужно продлить дальше 62 строки - изменить во всех местах 62 на нужную строку.

Изменено: vokilook - 02.04.2024 17:58:29
Ошибка вставки значений в книгу, vba / out of range
 
Проверьте:
Есть ли в файле "01_Закрытие_Январь 2024_.xlsx" вкладка "БН"
Есть ли в файле "Отчет_10.2.03.1_«Детальный.Агрегированный» BASE.xlsx" на листе "Лист1" в столбце 1 ячейка со значением "F_*"
Заполнение таблицы значениями подходящими под условие.
 
Ну если заработало - значит правильно... Только надо иметь ввиду, то, что данные во вкладке "Расход" постоянно перезаписываются без удаления старых данных.
Изменено: vikttur - 23.06.2021 12:45:55
При изменении в одной из группы ячеек менять значения в других ячейках
 
При смене третей ячейки меняется первая.
Код
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count = 1 Then
        If Not IsNumeric(Target.Value) Or Target.Value = "" Then
            Exit Sub
        End If
    Else
        Exit Sub
    End If
    Application.EnableEvents = False
    If Target.Column = 2 Then
        Cells(Target.Row, Target.Column + 2) = Cells(Target.Row, Target.Column) + Cells(Target.Row, Target.Column + 1)
    Else
        If Target.Column = 3 Then
            Cells(Target.Row, Target.Column + 1) = Cells(Target.Row, Target.Column - 1) + Cells(Target.Row, Target.Column)
        Else
            If Target.Column = 4 Then
                Cells(Target.Row, Target.Column - 2) = Cells(Target.Row, Target.Column) - Cells(Target.Row, Target.Column - 1)
            End If
        End If
    End If
    Application.EnableEvents = True
End Sub
Заменить первую цифру после буквы
 
Добрый день.
Вы случайно цифры и числа не путаете? Сделайте файл с несколькими примерами что есть и что должно быть.
Создать папку с подпапками для каждого файла
 
Протестировал, теперь работает.
Создать папку с подпапками для каждого файла
 
Поправил.
Создать папку с подпапками для каждого файла
 
Код
Sub temp()
    Application.DisplayAlerts = False
    For i = 6 To Cells(Rows.Count, 2).End(xlUp).Row
    Range("F" & i).FormulaR1C1 = "=MID(RC[-3],1,LEN(RC[-3])-4)"
    Path = Cells(i, 6).Value
    MkDir Path
    Path = Path & "\photo"
    MkDir Path
        FileCopy Cells(i, 3).Value, Path & "\" & Cells(i, 2).Value
    Next
    Application.DisplayAlerts = True
End Sub



Не проверял, но вроде так.
Изменено: vokilook - 22.06.2021 17:58:42
Заполнение таблицы значениями подходящими под условие.
 
Добавил кнопку.
Изменено: vikttur - 23.06.2021 10:41:02
Условное форматирование текста при определенных условиях.
 
Тогда так...
Последовательный выбор всех значений по условию
 
Последовательный выбор всех значений по условию?
Код
=ИНДЕКС($B$2:$B$25;ПОИСКПОЗ(G2;$A$2:$A$25;0)+СЧЁТЕСЛИ(G$1:$G2;G2)-1)
Изменено: vokilook - 22.06.2021 17:28:32
Заполнение таблицы значениями подходящими под условие.
 
Код
Option Explicit
Sub CopyIf()
    With ActiveWorkbook.Sheets("Приходы")
        Dim lrow, i, j As Long
        lrow = .Cells(Rows.Count, 7).End(xlUp).Row
        j = 2
        For i = 2 To lrow
            If .Range("G" & i) = "Терминал" Or .Range("G" & i) = "Расрочка\кредит" Then
                .Range("G" & i).EntireRow.Copy ActiveWorkbook.Sheets("Расход").Range("A" & j)
                j = j + 1
            End If
        Next i
    End With
End Sub

Изменено: vokilook - 22.06.2021 15:35:50
Условное форматирование текста при определенных условиях.
 
С доп столбцом подойдет?
Страницы: 1 2 След.
Наверх