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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 307 След.
переход в другую ячейку при нажатии на ячейку
 
Файл - Параметры - Дополнительно - Разрешить редактирование в ячейках
Одинаково ли настроен этот параметр у обоих сотрудников?
Вывести совпадения из двух столбцов в третий
 
Цитата
написал:
МатросНаЗебре , вам еще не жаловались на ошибку #ПЕРЕНОС! ?
Типа, я б ещё динамические массивы предложил? Если файл xls, то СЧЁТЕСЛИМН лучше не предлагать?  
переход в другую ячейку при нажатии на ячейку
 
Выглядит, будто листа Микс в файле больше нет.
И, да, действительно, если дважды кликнуть на ячейку, то перейдёте во влияющую ячейку.
Вывести совпадения из двух столбцов в третий
 
Или в дополнительный столбец, или в условное форматирование:
Код
=СЧЁТЕСЛИМН(B:B;A:A)>0
Изменено: МатросНаЗебре - 13.04.2026 17:35:20
распределение рабочих часов по сменам, расчет продолжительности смены в целых часах
 
Цитата
написал:
не "1", а, скажем "я"
Код
=ЕСЛИ(E6="я";СЛУЧМЕЖДУ(ОКРУГЛВНИЗ(ЕСЛИОШИБКА(($B$2-СУММ($C7:D7))/СЧЁТЕСЛИМН(E6:$AI6;"я");0);0);ОКРУГЛВВЕРХ(ЕСЛИОШИБКА(($B$2-СУММ($C7:D7))/СЧЁТЕСЛИМН(E6:$AI6;"я");0);0));"")
СУММЕСЛИМН не суммирует значения, полученные с помощью ПСТР, формула СУММЕСЛИМН не
 
Как я понял, ступили на тонкий лёд вычислений Excel в пятнадцатом знаке после запятой. Так что, лучше ОКРУГЛ.
распределение рабочих часов по сменам, расчет продолжительности смены в целых часах
 
Цитата
написал:
вариант без случайностей)
В принципе, чередование это тоже в какой-то мере произвольное изменение.
Да и в задании написано "может произвольно", а не "должно". :)
СУММЕСЛИМН не суммирует значения, полученные с помощью ПСТР, формула СУММЕСЛИМН не
 
Так будет 8.
Код
=ОКРУГЛ(ОСТАТ(ABS(E3)*100;10);0)
распределение рабочих часов по сменам, расчет продолжительности смены в целых часах
 
Код
=ЕСЛИ(E6=1;СЛУЧМЕЖДУ(ОКРУГЛВНИЗ(ЕСЛИОШИБКА(($B$2-СУММ($C7:D7))/СУММ(E6:$AI6);0);0);ОКРУГЛВВЕРХ(ЕСЛИОШИБКА(($B$2-СУММ($C7:D7))/СУММ(E6:$AI6);0);0));"")
СУММЕСЛИМН не суммирует значения, полученные с помощью ПСТР, формула СУММЕСЛИМН не
 
Только вставил формулу.
Приложите вариант с тем, как Вы вставили формулу. Посмотрим, в чём разница.
СУММЕСЛИМН не суммирует значения, полученные с помощью ПСТР, формула СУММЕСЛИМН не
 
Для GH:
Код
=ЦЕЛОЕ(ОСТАТ(ABS(E2)*100;10))
СУММЕСЛИМН не суммирует значения, полученные с помощью ПСТР, формула СУММЕСЛИМН не
 
Цитата
написал:
И с ваш формулой тоже не сработало
Как бы не так)
СУММЕСЛИМН не суммирует значения, полученные с помощью ПСТР, формула СУММЕСЛИМН не
 
Ещё можно так.
Код
=ЦЕЛОЕ(ОСТАТ(ABS(E2)*10;10))
Цитата
написал:
опишите, что именно хотите посчитать
Хочется получить сумму первых знаков после запятой.
Не спрашивайте меня "зачем?" :)
СУММЕСЛИМН не суммирует значения, полученные с помощью ПСТР, формула СУММЕСЛИМН не
 
Код
=ЗНАЧЕН(ПСТР(ТЕКСТ(ОСТАТ(ABS(E2);1);",00");2;1))
Вариант названия темы, да и сгодится как объяснение, почему не работало:
СУММЕСЛИМН не суммирует значения, полученные с помощью ПСТР.
Построение диаграмм на основе отфильтрованных данных
 
... или так:
Код
=СУММПРОИЗВ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;СМЕЩ(Лист3!$B$8;СТРОКА(Лист3!$B$8:$B$32)-СТРОКА(Лист3!$B$8);0))*(Лист3!$B$8:$B$32=Лист3!H2))
Построение диаграмм на основе отфильтрованных данных
 
Цитата
написал:
почему ... формула перестаёт видеть часть данных?
Из-за изменения индексов строк, получаемых функцией СТРОКА().
Нужно изменить формулу:
Код
=СУММПРОИЗВ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;СМЕЩ(Лист3!$B$1;СТРОКА(Лист3!$B$26:$B$50)-1;0))*(Лист3!$B$26:$B$50=Лист3!H2))
Построение диаграмм на основе отфильтрованных данных
 
Код
Option Explicit

Sub Перенести_отфильтрованные()
    Dim rTarget As Range
    Set rTarget = Sheets("Лист2").Range("D8")
    
    Dim arr As Variant
    arr = GetArr(Sheets("Лист3").Range("A2"))
    rTarget.Resize(rTarget.Parent.UsedRange.Rows.Count, UBound(arr, 2)).ClearContents
    rTarget.Resize(UBound(arr, 1), UBound(arr, 2)).Value = arr
End Sub

Private Function GetArr(rSource As Range) As Variant
    Dim aSource As Variant, aTarget As Variant
    aSource = rSource.Resize(rSource.Parent.UsedRange.Rows.Count).Value
    ReDim aTarget(1 To UBound(aSource, 1), 1 To 2)
    Dim ys As Long, yt As Long
    For ys = 1 To UBound(aSource, 1)
        If Not IsEmpty(aSource(ys, 1)) Then
            If Not rSource.Cells(ys, 1).EntireRow.Hidden Then
                yt = yt + 1
                aTarget(yt, 1) = yt
                aTarget(yt, 2) = aSource(ys, 1)
            End If
        End If
    Next
    GetArr = aTarget
End Function
В прикреплённом файле срабатывает на активацию листа.
автопереход с следующему столбцу в таблице
 
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.CountLarge > 1 Then Exit Sub
    If IsError(Target.Value) Then Exit Sub
    If IsEmpty(Target.Value) Then Exit Sub
      
    Dim tb As ListObject
    On Error Resume Next
    Set tb = Target.ListObject
    On Error GoTo 0
    If tb Is Nothing Then
        If WorksheetFunction.CountIfs(Target.EntireColumn.Resize(Target.Row), Target.Value) > 1 Then
            SelectTargetCell Target, Cells(3, Target.Column + 1)
        End If
    Else
        If WorksheetFunction.CountIfs(Intersect(Target.EntireColumn.Resize(Target.Row), tb.DataBodyRange), Target.Value) > 1 Then
            SelectTargetCell Target, Intersect(Target.Cells(1, 2).EntireColumn, tb.DataBodyRange.Rows(1))
        End If
    End If
End Sub
 
Private Sub SelectTargetCell(sourceRange As Range, targetRange As Range)
    targetRange.Select
    targetRange.Value = sourceRange.Value
    sourceRange.Value = Empty
End Sub
автопереход с следующему столбцу в таблице
 
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.CountLarge > 1 Then Exit Sub
    If IsError(Target.Value) Then Exit Sub
    If IsEmpty(Target.Value) Then Exit Sub
     
    Dim tb As ListObject
    On Error Resume Next
    Set tb = Target.ListObject
    On Error GoTo 0
    If tb Is Nothing Then
        If WorksheetFunction.CountIfs(Target.EntireColumn.Resize(Target.Row), Target.Value) > 1 Then
            SelectTargetCell Target, Cells(3, Target.Column + 1)
        End If
    Else
        If WorksheetFunction.CountIfs(Intersect(Target.EntireColumn.Resize(Target.Row), tb.DataBodyRange), Target.Value) > 1 Then
            SelectTargetCell Target, Intersect(Target.Cells(1, 2).EntireColumn, tb.DataBodyRange.Rows(1))
        End If
    End If
End Sub

Private Sub SelectTargetCell(sourceRange As Range, targetRange As Range)
    targetRange.Select
    targetRange.Value = sourceRange.Value
End Sub
Копирование листов с помощью кода VBA, Исключение ошибок при копировании листов
 
Цитата
написал:
Ошибка-то не исчезнет.
Пробовали? Или предполагаете?
В этом варианте не должно быть ошибки, вызванной использованием пользовательской функции GetStringA.

О высказываниях:
Скрытый текст
Изменено: МатросНаЗебре - 10.04.2026 14:56:48
макросы в файле формата .xls, возможно ли?
 
Файл - Сохранить как -Тип файла - Книга Excel 97-2003 (*.xls)
Увеличение и уменьшение размера шрифта через макрос
 
Стало понятней. Такой вариант.
Код
    Dim xLine As Long
    xLine = InStr(Target.Value, Chr(10)) + 1
    
    With Target.Characters(1, xLine - 1).Font
           .Size = 15
    End With
    With Target.Characters(xLine, Len(Target.Value) - xLine + 1).Font
        .Size = 11
    End With
автопереход с следующему столбцу в таблице
 
Вариант для умных таблиц.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.CountLarge > 1 Then Exit Sub
    If IsError(Target.Value) Then Exit Sub
    If IsEmpty(Target.Value) Then Exit Sub
    
    Dim tb As ListObject
    On Error Resume Next
    Set tb = Target.ListObject
    On Error GoTo 0
    If tb Is Nothing Then
        If WorksheetFunction.CountIfs(Target.EntireColumn.Resize(Target.Row), Target.Value) > 1 Then
            Cells(3, Target.Column + 1).Select
        End If
    Else
        If WorksheetFunction.CountIfs(Intersect(Target.EntireColumn.Resize(Target.Row), tb.DataBodyRange), Target.Value) > 1 Then
            Intersect(Target.Cells(1, 2).EntireColumn, tb.DataBodyRange.Rows(1)).Select
        End If
    End If
End Sub
автопереход с следующему столбцу в таблице
 
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.CountLarge > 1 Then Exit Sub
    If IsError(Target.Value) Then Exit Sub
    If IsEmpty(Target.Value) Then Exit Sub
    
    If WorksheetFunction.CountIfs(Target.EntireColumn.Resize(Target.Row), Target.Value) > 1 Then
        Cells(3, Target.Column + 1).Select
    End If
End Sub
Вставьте код в модуль листа.
Правый клик на ярлычке листа - Исходный текст
Выпадающий список с заполнением данных относительно выбранного
 
В ячейки C5,C11,C17 и тянуть вниз.
Увеличение и уменьшение размера шрифта через макрос
 
Код
With Target.Characters(1, 17).Font
       .Name = "Calibri"
       .FontStyle = "обычный"
       .Size = 15           'Если уберёте эту строку, то выполнится часть, обозначенная как "ОСТАВИТЬ" - не изменится размер первой строки.
       .Color = -65536
       End With
   With Target.Characters(17, Len(Target.Value) - 16).Font
       .Name = "Calibri"
       .FontStyle = "обычный"
       .Size = 11           'Если отредактируете эту строку, то выполнится часть, обозначенная как "УМЕНЬШИТЬ" - изменится размер последующих строк.
       .Color = -16777216
   End With
End If
Выпадающий список с заполнением данных относительно выбранного
 
Код
=ИНДЕКС('Список изделий'!F:F;ПОИСКПОЗ($C$2;'Список изделий'!$C:$C;0)-1+СТРОКА(A1))
Копирование листов с помощью кода VBA, Исключение ошибок при копировании листов
 
Код
Sub myCopy()
    Dim shSource As Worksheet
    Set shSource = Sheets("4-й акт")
    
    Dim shTarget As Worksheet
    shSource.Copy
    Set shTarget = ActiveSheet
    
    shTarget.UsedRange.Value = shSource.UsedRange.Value
    
    With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).CodeModule
        .DeleteLines 1, .CountOfLines
    End With
End Sub
Увеличение и уменьшение размера шрифта через макрос
 
Цитата
написал:
Вот, вот такой результат должен получиться ниже. Нижние строки маленьким шрифтом, а верхняя строка большим шрифтом:
Выглядит, что так и происходит. Покажите, как есть(как Вы видите). Как должно быть, Вы уже показали.
Увеличение и уменьшение размера шрифта через макрос
 
Снова непонятно(
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 307 След.
Наверх