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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 521 След.
Заменить ячейки с определенной формулой на значения
 
Цитата
написал:
For Each Rng In Rng
и это работает? Фигня какая-то. В первом же проходе цикла основная переменная Rng теряет прежнее значение и получает только то, что передает ей цикл.
Может все же так?
Код
           For Each rc In Rng
                If InStr(rc.Formula, "INDIRECT") > 0 And Len(rc.Formula) > 30 Then
                    rc.Value = rc.Value
                End If
            Next rc
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Сильно "тупит" таблица в Excel не могу понять в чем дело, помогите пожалуйста., "Виснет", "тупит" таблица-реестр в Excel , помогите пожалуйста разобраться.
 
Цитата
написал:
ActiveSheet.DrawingObjects.Delete  тоже в даун ушел "на подумать"
ясно. Я не пробовал на этом файле.
Но зато можно открыть архиватором и удалить папку Drawings. Затем открыть через Excel, согласиться с восстановлением и все работает без объектов. А размер файла стал 49Кб
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Сильно "тупит" таблица в Excel не могу понять в чем дело, помогите пожалуйста., "Виснет", "тупит" таблица-реестр в Excel , помогите пожалуйста разобраться.
 
Цитата
написал:
там быстро не получается
ActiveSheet.DrawingObjects.Delete - удаляет весьма быстро без разбора по типам.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Сильно "тупит" таблица в Excel не могу понять в чем дело, помогите пожалуйста., "Виснет", "тупит" таблица-реестр в Excel , помогите пожалуйста разобраться.
 
Цитата
написал:
что с ним можно сделать?
Как уменьшить размер файла
если все проделать - то и файл уменьшиться, и тормозить будет значительно меньше. Про объекты там отдельно тоже есть и приложен код, который максимально быстро все эти объекты удалит(DeleteAllDrawingObjects).
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Динамическое имя файла в строке источника данных
 
Цитата
написал:
только предполагается что файл в папке всегда один
так в чем проблема-то? Делаете запрос к папке, фильтруете по расширению только файлы Excel. Все, цель достигнута, т.к. файл всегда один.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Динамическое имя файла в строке источника данных
 
Цитата
Дмитрий_М написал:
динамическое название файла при постоянном пути
что это означает? Откуда берется имя файла?
Если нужен только путь - то здесь есть готовая формула получения только пути к папке где хранится сам файл с запросом: Относительный путь к данным PowerQuery
Если надо что-то другое - опишите подробнее.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Не получается создать сводную таблицу
 
У Вас текст в ячейках, а не дата-время: "2025-10-17 12:30:01.115109+00:00"
Уберите все, что после точки и все заработает.
Как убрать: выделяете столбцы с "датами" -Формат ячеек -Дата. Далее, не снимая выделения сочетание клавиш Ctrl+H. В поле найти пишете: ".*". Заменить на: оставляете пустым. Заменить все.
Для столбца итоговое время можно заменить двоеточие на двоеточие - это запустить преобразование типов данных.
Изменено: Дмитрий(The_Prist) Щербаков - 27.10.2025 14:55:05
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Найти дату в тексте и вынести в ячейку., Найти дату в тексте ячейки и вынести дату в другую ячейку при помощи формулы.
 
Цитата
nilske написал:
Если исходить из примера, то перечисления быть не может
как бэ...
Цитата
Uncle_Cyrus написал:
кое-где даже через тире пишут, типа 2010-2011
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Формула с гиперссылкой, Переменное значение для гиперссылки
 
Цитата
написал:
по адресу может ещё не лежать файла
но ошибка будет не на стадии формировании гиперссылки, а только при попытке открыть этот несуществующий файл. И теперь еще больше неясно, что хотите. Открытие файла с пробелом на конце получилось сделать? Если да - то все остальное без макросов лучше не делать, т.к. даже если пытаться - удобным решение не назовешь.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Формула с гиперссылкой, Переменное значение для гиперссылки
 
Да неважно что - если синтаксис верный, ошибок наличие пробела не вызовет. Следовательно, вторая часть вообще никогда не сработает, т.к. функция ГИПЕРССЫЛКА не возвращает ошибку, если ссылка неверная.

P.S. В предыдущем сообщении должно было быть "выражение, которое НЕ дает ошибку"
Изменено: Дмитрий(The_Prist) Щербаков - 27.10.2025 12:13:29
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Найти дату в тексте и вынести в ячейку., Найти дату в тексте ячейки и вынести дату в другую ячейку при помощи формулы.
 
Цитата
написал:
может быть разных форматов "ДД.ММ.ГГГГ" или "ММ.ГГГГ" или просто "ГГГГ", кое-где даже через тире пишут, типа 2010-2011
при таких условиях можете забыть про получение корректного результата. Тем более формулами. Да и макросы не дадут 100% результата, т.к. цифры могут быть вовсе не датой, а тем же интервалом. Например, 11-12 - далеко не факт, что это 11 декабря 2025 или 1 ноября 2012. Это может быть вообще просто перечисление: от 11 до 12.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Формула с гиперссылкой, Переменное значение для гиперссылки
 
Цитата
написал:
и ПРОБЕЛОМ в конце
попробуйте так:
Код
ЕСЛИОШИБКА(
        ГИПЕРССЫЛКА("file:///W:\ОТДЕЛ ПРОДАЖ\ЭПТС\" & C15 & "\" & ПОДСТАВИТЬ(I15;" ";"%20") & ".pdf"; "ССЫЛКА");
        "")
    )
P.S. Не очень понятен принцип применения Вами функции ЕСЛИОШИБКА. Зачем вторым аргументов вставлять тоже выражение, которое дает ошибку?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макрос для умножения ячеек
 
Нажимаете кнопку - столбец пересчитывается.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Почему при попытке изменить данные в таблице, участвующей в формуле, эксель зависает
 
Цитата
написал:
Не знаю как это отключение будет влиять на другие открытые книги, если отключать пересчет при открытых нескольких книгах
автопересчет отключается для приложения в целом. Поэтому, если его отключить в одной книге - он будет отключен во всех.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Формула начинается со значка @. Что это значит?
 
Цитата
написал:
так до сих пор и не понял почему через меню "макросы" я не могу открыть этот модуль
но тему все равно назвали "почему формула начинается со значка @"  :D
Именно на это я намекнул. Проблема у Вас была в том, что Вы не можете макрос найти, а не зачем в функции @.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Расшифровка затрат
 
Цитата
Liza16 написал:
как перенести данную функцию в другой файл?
Как добавить уже созданную функцию в свою книгу
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Расшифровка затрат
 
Ну тогда формулы не Ваш вариант.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Расшифровка затрат
 
Я Вам там в файле еще для всех версий офиса накидал нехитрую формулу(столбец М):
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(";;"&ЕСЛИ(D3>0;$D$1;"")&ЕСЛИ(E3>0;";"&$E$1;"")&ЕСЛИ(F3>0;";"&$F$1;"")&ЕСЛИ(G3>0;";"&$G$1;"")&ЕСЛИ(I3>0;";"&$I$1;"")&ЕСЛИ(J3>0;";"&$J$1;"");";;;;";"");";;;";"");";;";"")


Цитата
Liza16 написал:
указывает "Неверная функция"
Так видимо у Вас не:
Цитата
Дмитрий(The_Prist) Щербаков написал:
офис 2021 или подписка 365
Изменено: Дмитрий(The_Prist) Щербаков - 23.10.2025 15:54:33
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Расшифровка затрат
 
Цитата
Liza16 написал:
формулами такую задачу нельзя решить?
Если у Вас офис 2021 или подписка 365 - то можно:
Код
=ОБЪЕДИНИТЬ(";";1;УНИК(ФИЛЬТР($D$1:$J$1;$D3:$J3>{0;0;0;0;1000000;0;0};"-")))
Изменено: Дмитрий(The_Prist) Щербаков - 23.10.2025 15:28:25
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макрос для умножения ячеек
 
Вот эти два обстоятельства взаимоисключающие:
Цитата
Dimas2025 написал:
НУжна полная версия макроса
Цитата
Dimas2025 написал:
Это упрощённая версия таблицы

Если в макросах ничего не понимаете - то как Вы подстроите макрос под настоящие данные? Т.к. на упрощенных данных код может быть совершенно другим.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Некорректная работа СУММЕСЛИ с числами длинной 20ть знаков, функция не работает как надо
 
Цитата
vaspup88 написал:
так и число пробовал
так а надо было пробовать явный текст :)
Здесь описывал ситуацию и как можно решить другой функцией - СУММПРОИЗВ: Функция СУММЕСЛИ, а так же СУММЕСЛИ по двум критериям
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Формула начинается со значка @. Что это значит?
 
Выбор названия темы не совсем соответствует основной проблеме :) Вопрос-то про то, где вообще функция, а как основной вопрос почему-то обозначили
Цитата
smol74 написал:
что за функция, начинающаяся с символа @
И если отвечать на "основной" вопрос темы - это оператор неявного пересечения. Применяется в новых версиях Excel, когда сам Excel считает, что функция введена в одну ячейку, но может возвращать массив.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Очистка ячеек на листе, Очистка ячеек на листе, цикл со смещением.
 
Цитата
написал:
Возмоно, что offset не правильно отсчитывает смещение из-за этого?
да. И именно из-за этого же не работает и ClearContents. Вам надо отказаться от подобного определения(через Offset) и задавать начальную и конечную область Range непосредственной адресацией.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Многоуровневый выпадающий список
 
Цитата
написал:
как сделать что бы работало?
добавил выше файл(пока Вы сообщение писали)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Многоуровневый выпадающий список
 
То, как Вы сделали - не будет работать. Функции отбора значений на основании выбора предыдущего списка должны формироваться непосрественно внутри проверки данных. Иначе для всех вып.списков список будет один - вычисленный на основании первой строки таблицы.
И в Вашем случае подобный отбор данных не реален без доп.таблиц. И их будет не мало - на каждое значение первого столбца - все варианты отбора из второго. А для второго вып.списка - все значения на основании первого и второго. И т.д.
Поэтому Вам и давали ссылки, чтобы Вы постарались разобраться как это вообще работает.
В файле прописал примерно, как это должно выглядеть. См. в диспетчер имен и в проверке данных второй таблицы.
Изменено: Дмитрий(The_Prist) Щербаков - 21.10.2025 16:31:44
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Лишие знаки в результате вычисления, В результате сцеплления двух значений появляются лишние знаки, которых не было в расчетах.
 
Excel неправильно считает. Почему?
все отсюда. Округляйте значения в столбце С(именно оттуда идут хвосты).
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пользовательская функция сортировки значений диапазона и вывод массивом
 
Здесь Вам надо будет для начала определять кол-во выделенных ячеек для ввода функции(через ThisCell или Application.Caller).
Потом именно это кол-во использовать для создания диапазона выходных данных.
Код
Function Sort1(SheetRange1 As Range, SheetRange2 As Range, Optional FillEmptyBy$ = "")
Dim Temp, DataPrimary, DataSlave, Result(), ResultText(), IndexP, i&, j&, k&, x&, m&
Dim rr As Range, xru&
Set rr = Application.Caller

'задаю массиву значения диапазона
DataPrimary = SheetRange1.Value
DataSlave = SheetRange2.Value

IndexP = Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j")

'удаляю дубли
For i = LBound(DataPrimary) To UBound(DataPrimary) - 1
    For j = i + 1 To UBound(DataPrimary)
        If DataPrimary(i, 1) = DataPrimary(j, 1) And DataPrimary(i, 1) <> 0 Then DataPrimary(j, 1) = 0
    Next j
Next i

'расставляю по возрастанию
For i = LBound(DataPrimary) To UBound(DataPrimary) - 1
    For j = i + 1 To UBound(DataPrimary)
        If DataPrimary(i, 1) > DataPrimary(j, 1) Then
            Temp = DataPrimary(i, 1)
            DataPrimary(i, 1) = DataPrimary(j, 1)
            DataPrimary(j, 1) = Temp
        End If
    Next j
Next i

'переопределяю размерность массива без нулей
For i = LBound(DataPrimary) To UBound(DataPrimary)
    If DataPrimary(i, 1) > 0 Then x = x + 1
Next i
ReDim Result(1 To x, 1 To 11)

'переношу данные без нулей в верном порядке
For i = x To 1 Step -1
    Result(i, 1) = DataPrimary(i + UBound(DataPrimary) - UBound(Result), 1)
Next i

'выстраиваю двемерный массив типов и ширин
DataPrimary = SheetRange1.Value
For i = LBound(Result) To UBound(Result)
    For j = LBound(DataPrimary) To UBound(DataPrimary)
        If Result(i, 1) = DataPrimary(j, 1) Then
            For k = 2 To 11
                Result(i, k) = Result(i, k) + DataSlave(j, k - 1)
            Next k
        End If
    Next j
Next i

'считаю количество строк ответа
x = 0
For i = LBound(Result) To UBound(Result)
    For j = 2 To 11
        If Result(i, j) > 0 Then x = x + 1
    Next j
Next i
xru = x
ReDim ResultText(1 To rr.Rows.Count, 1 To 1)

'собираю массив конечного ответа
For i = LBound(ResultText, 1) To xru 'UBound(ResultText, 1)
    For j = LBound(Result, 1) To UBound(Result, 1)
        If Result(j, 1) > 0 Then
            For k = 2 To 11
                If Result(j, k) > 0 Then
                    ResultText(i, 1) = Result(j, 1) * 10 & "-" & IndexP(k - 2)
                    Result(j, k) = 0
                    GoTo NextResult
                End If
            Next k
        End If
    Next j

NextResult:
    x = 0
    For k = 2 To 11
        If Result(j, k) > 0 Then x = x + 1
    Next k
    If x = 0 Then Result(j, 1) = 0
Next i
If xru < rr.Rows.Count Then
    For i = xru + 1 To rr.Rows.Count
        ResultText(i, 1) = FillEmptyBy
    Next
End If
Sort1 = ResultText
End Function
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Тэги оформления вместо оформленного текста в сообщениях форума
 
Вы видите это в архивных сообщениях, которые были перенесены со старого форума(там движок был другой и другие теги и требования к ним). На текущем движке эти теги не поддерживаются, поэтому отображаются "как есть".
Изменено: Дмитрий(The_Prist) Щербаков - 21.10.2025 08:21:49
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Открыть в Ecxel файл с расширением * .web, Автоматически ответить 'Да' на запрос при открытии файла
 
Вы макрорекордер даже не пытаетесь использовать, надо полагать? И макрос, который мы тут обсуждаем - тоже не Вы писали? Потому что макрорекордер  операцию по сохранению файла на ура записывает.
Вот, условный код:
Код
Dim avFiles
    Dim WB As Workbook
    avFiles = Application.GetOpenFilename("Excel files(*.xls*),*.xls*", 1, "Выбрать Excel файл", , False)
    If VarType(avFiles) = vbBoolean Then
        MsgBox "Файл не выбран", 0, "Выбор файла"
        Exit Sub
    End If
    On Error Resume Next
    Application.DisplayAlerts = False
    Set WB = Workbooks.Open(avFiles, ReadOnly:=True)
    If WB Is Nothing Then
        MsgBox "Возникла ошибка при открытии файла"
        Application.DisplayAlerts = True
        Exit Sub
    Else
        if Right(WB.Name,4) = ".xls" Then'если это файл формата xls - пересохраняем
          WB.SaveAs WB.FullName & "x",FileFormat:=51
        end if
'и где-то здесь записываете путь к этой книге и закрываете
Cells(1,1).value = WB.FullName
WB.Close False 'или True, если были какие-то изменения и надо сохранить книгу
    End If
Изменено: Дмитрий(The_Prist) Щербаков - 20.10.2025 13:30:27
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Открыть в Ecxel файл с расширением * .web, Автоматически ответить 'Да' на запрос при открытии файла
 
Цитата
Slash написал:
хотелось бы макросом решить эту задачу
так про то и речь
Цитата
Дмитрий(The_Prist) Щербаков написал:
Раз макросом выбираете - открывайте файл, пересохраняйте его в формат "xlsx"
имелось в виду, макросом и пересохраняйте. А уже потом записывайте путь и скармиливайте файл запросу.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 521 След.
Наверх