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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 518 След.
Вставка изображений, изменение масштаба (увеличение/уменьшение) при нажатии - VBA макрос
 
Цитата
art_TD написал:
можно ли в Вашем коде сделать так, чтобы путь до файлов изображений был тот же, что и путь этой книги Excel? Что-то вроде folderPath = ThisWorkbook.path & "\"
Вы комментарии-то вообще не читали что ли? :) Там вроде прям открытым текстом написано, что надо сделать, если не надо использовать диалог выбора файлов:
Код
'   если путь надо указать статичный - вместо диалога прописываем одну строку
'   sPicsPath = "C:\images\"

убираете блок выбора папки(у которого тоже есть комментарий: 'выбираем путь к папке с картинками). И оставляете только эту строку:
Код
sPicsPath = ThisWorkbook.Path
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как сделать формулу динамической, чтобы она "разлилась" на нужный диапазон #
 
Функция И(равно как и ИЛИ) изначально разработана таким образом, что может работать с диапазонами. Т.е. в данном случае надо заменять математическими эквивалентами И и ИЛИ, которые предназначены для работы внутри формул массива. Т.е. знаки + и *. Типа того:
Код
=(ВЗЯТЬ(E2#;;1)=ДЕНЬНЕД(СЕГОДНЯ();11))*
   (ВЗЯТЬ(ВЗЯТЬ(E2#;;7);;-1)<=ВРЕМЗНАЧ(ТЕКСТ(ТДАТА();"ЧЧ:ММ:СС")))*
   (ВЗЯТЬ(E2#;;-1)>=ВРЕМЗНАЧ(ТЕКСТ(ТДАТА();"ЧЧ:ММ:СС")))

Можно еще добавить сравнение к 0, чтобы получить именно ИСТИНА и ЛОЖЬ, если это принципиально:
Код
=(ВЗЯТЬ(E2#;;1)=ДЕНЬНЕД(СЕГОДНЯ();11))*
   (ВЗЯТЬ(ВЗЯТЬ(E2#;;7);;-1)<=ВРЕМЗНАЧ(ТЕКСТ(ТДАТА();"ЧЧ:ММ:СС")))*
   (ВЗЯТЬ(E2#;;-1)>=ВРЕМЗНАЧ(ТЕКСТ(ТДАТА();"ЧЧ:ММ:СС")))<>0
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Вставка изображений, изменение масштаба (увеличение/уменьшение) при нажатии - VBA макрос
 
Цитата
написал:
Там, к сожалению, не рассматривается вторая часть задачи
так добавьте - это одна строка кода. После строки:
Код
oShp.Name = sSpName
допишите:
Код
oShp.OnAction = "ClickResizeImage"
и поместите в книгу соответствующие коды:
Код
Sub PlaceImage(Cel As Range, SHP As Shape)    Dim W As Double, H As Double, L As Double, T As Double
    Cel.Select: W = Cel.Width: H = Cel.Height: L = Cel.Left: T = Cel.Top
    With SHP
        .LockAspectRatio = msoTrue
        .Width = W
        If .Height > H Then .Height = H
        .Left = L + (W - SHP.Width) / 2
        .Top = T + (H - SHP.Height) / 2
    End With
End Sub
Sub ClickResizeImage()
    Dim SHP As Shape, Cel As Range, W As Double, H As Double, L As Double, T As Double
    Set SHP = ActiveSheet.Shapes(Application.Caller)
    Set Cel = SHP.TopLeftCell
    Cel.Select: W = Cel.Width: H = Cel.Height: L = Cel.Left: T = Cel.Top
    If SHP.Width < W Or SHP.Height < H Then SHP.Width = W * 5 Else Call PlaceImage(Cel, SHP)
End Sub
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
В версии 2016 и новее нет уведомления о сохранении изменения в файле
 
Имеет смысл проверить все последние обновления. Возможно, была недоработка в части отслеживания цепочек вычислений. Если СЕГОДНЯ ожидаемо для всех вносит изменения в файл, то ссылка на ячейку с этой функций может быть игнорирована вследствие ошибки разрабочиков.
Это как вариант, раз макросов и всего прочего нет и файл при этом действительно не сохраняется.
Ну и проверить установлен ли для файла автопересчет формул. Но это уже в качестве бреда больше.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Не работает формула с датами
 
Цитата
написал:
">=01.01.2025"
будет корректно работать, если на всех ПК используется один и тот же формат и локализация дат. Чтобы работало везде, лучше делать так:
Код
">="&ДАТА(2025;1;1)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Извлечение изображения с листа (книг) Excel
 
Посмотрите здесь: https://www.cyberforum.ru/vba/thread3136256.html
там я выкладывал код сохранения файлов путем извлечения из "потрохов" файла(из архива).
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Вставить ссылку на ячейку в Числовом фильтре
 
Цитата
neurologkhv написал:
Как правильно прописать ссылку на ячейку в Числовом фильтре
никак. Автофильтры не поддерживают условия в виде ссылок на ячейки.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Открытие списка фильтра на позиции отмеченной ранее., Настройки фильтра
 
Попробуйте использовать Расширенный фильтр. Про него где-то в Приемах есть статья. К сожалению сейчас искать и дать ссылку прямо на статью нет возможности - поэтому попробуйте самостоятельно, там вроде не сложно найти.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Открытие списка фильтра на позиции отмеченной ранее., Настройки фильтра
 
Такого нет точно.
Но Вы можете сделать иначе: раскрыли фильтр -нажали галочку "Выделить все" два раза(сначала все отмечается, затем все галочки снимаются) и делайте выбор заново только нужных позиций.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Удаление объектов со всей книги, Удаление объектов со всей книги
 
Цитата
Света Демкина написал:
Как с листа удалить знаю, а вот с книги
Так же, только добавив цикл по всем листам:
Код
Sub DelFromWb()
    Dim ws As Worksheet
    for each ws in activeworkbook.Worksheets
    'здесь код для удаления всех объектов с листа, который знаю :)
    'или такой:
    On Error resume next
    ws.drawingobjects.delete
    On Error goto 0
    next
End Sub
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макрос скрытие пустых строк при изменении ячейки
 
Цитата
Елена122 написал:
чтобы пустые сроки скрывались
для начала не мешает определить - что есть пустые строки? Ибо сейчас проверка идет не всей строки, а только ячеек столбца FJ. И сейчас код работает исправно - скрывает все, что ниже 37 строки, если в ячейках столбца FJ пусто.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
обращение к листу с другого листа
 
Цитата
написал:
Опять это мутное ActiveWorkbook и ThisWorkbook
а что здесь мутного?
ActiveWorkbook - книга, которая отображена на экране на момент выполнения кода.
ThisWorkbook - всегда та книга, в которой записан выполняемый в данный момент код. И это может быть как одна и та же книга, так и разные - зависит от задач и от того, что требуется от кода.  
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
БАГ Excel, Нашел баг)
 
Цитата
SkArMuSt написал:
или хотя бы ссылку на объяснение
Excel неправильно считает. Почему?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Выгрузка результата запроса PowerQuery во внешний файл, В режиме "только подключение" и при превышении максимальной длины строки в ячейке
 
А почему бы средствами PowerQuery не разбить результат на несколько ячеек по кол-ву символов?
А потом уже можно объединять это некими кодами.
Ну а если хочется исключительно через PowerQuery, то технически вроде бы нет возможности выгружать во внешний файл результат запроса. Только те варианты, которые предлагаются в самом PowerQuery.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Получение формата даты
 
Цитата
igorbych написал:
они не дали решение
во как. А почему у меня все работает именно в том виде, который я предложил в посте #7?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Получение формата даты
 
Цитата
igorbych написал:
Если не переименовывать - вариантов нет.
мои варианты принципиально не рассматриваете?  :D
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Получение формата даты
 
Цитата
igorbych написал:
Но шаг в сторону и уже чтото мешает
да там много чего мешает. И неразрывный пробел вместо обычного, и "мая" вместо "май". Предположу, что еще и другие варианты могут быть. Поэтому и так важен сразу файл пример, а не одна строка.
По сути, нечто такое должно сработать:
Код
=--ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"мая";"май");СИМВОЛ(160);" ");",";"");".";"")

Но это опять же - только по предоставленным данным. Что там с другими возможными вариантами дат, нам неведомо.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Получение формата даты
 
Sanja, бинарное отрицание в данной конструкции совсем лишнее, т.к. уже есть сложение двух величин и в любом случае будет попытка преобразовать типы. Бинарное отрицание нужно в случае, когда с результатом функции не производится доп.математические действия. Это я так, занудствую чутка :)
Ну и в целом можно вообще без всяких ПСТР и прочего:
Код
=ЗНАЧЕН(ПОДСТАВИТЬ(A1;".,";""))

или
Код
=--ПОДСТАВИТЬ(A1;".,";"")

но я бы, конечно, посмотрел бы на реальные данные сначала.
Изменено: Дмитрий(The_Prist) Щербаков - 15.06.2025 14:59:34
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Получение формата даты
 
Цитата
igorbych написал:
на дату не реагирует ни прибавить день не умножить не позволяет
может потому что это
Цитата
igorbych написал:
Есть строка
?
А строка(т.е. текст) не может участвовать в математических операциях и к ней нельзя применить различные числовые форматы ячеек.
Т.е. по сути сначала надо все эти чудо-строки преобразовывать в реальную дату-время и только потом уже прибавлять, вычитать, форматы менять...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Подсчет количества различающихся символов, Формулой или иным способом
 
Ну и опять же: уникальные, это те, которые НЕ ПОВТОРЯЮТСЯ. Т.е. Вам надо из всех символов в ячейке убрать все повторяющиеся и оставить так, чтобы каждый символ был записан по одному разу? Или именно те символы, которые не повторяются?
Например, в слове "шалаш" два символа повторяются. Если выбирать только НЕ ПОВТОРЯЮЩИЕСЯ, то это будет одна буква - "л". Т.к. только она не повторяется. Если же надо отсечь все повторы и оставить только по одному уникальному символу - это будет "шал". Вам как надо?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Подсчет количества различающихся символов, Формулой или иным способом
 
Краткость явно не сестра Ваших талантов :)
Различаются относительно чего? Других символов в этой же ячейке? Или в другой? Или в эталонном списке? Или нужно просто кол-во уникальных символов? Это все разные задачи, которые по сути подходят под описанную Вами. Поэтому нужна конкретика и желательно с примером в файле Excel.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Ссылка на гиперссылку в другом листе, Ссылка на гиперссылку в другом листе
 
Цитата
Бутус написал:
при создании на новом листе ссылки на ячейку с гиперссылкой, там не открывается текст документа
и не будет. Это же просто ссылка на ячейку. Гиперссылка это отдельный объект. И чтобы перенести гиперссылку в ячейку, просто указав ссылку на другую ячейку с гиперссылкой - надо применять VBA. Стандартными функциями это вряд ли получится. Но как уже сказали - надо видеть файл. Вдруг у Вас там адреса конкретно прописаны - тогда может помочь просто функция ГИПЕРССЫЛКА.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Странное поведение Like (VBA)
 
Цитата
bedvit написал:
почему должно вернутся False (потому что "-" не в начале и не в конце charlist)
почему же не в начале и не в конце? Он как раз либо в начале, либо в конце :)
Шаблон "[1-2-3]". Разбирается скорее всего по частям. Первая часть - диапазон от 1 до 2: "[1-2]". Вторая часть - дефис и число 3, которые считываются уже по отдельности, т.к. цифра "2" уже занята диапазоном "1-2": "[-3]". Следуя этой логике - дефис-таки в начале. Но если вдруг, Like начинает разбор шаблона справа налево - то будет обратная ситуация, которую, полагаю, сами достроите("2-3" и "1" и "-").
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Задержка доставки письма Outlook+VBA, Задать задержку доставки письма макросом
 
Если делаете через Excel - смотрите в сторону метода Application.OnTime. Поиском ищется и все инструкции по использованию есть.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Смещение массива функции на разные количество ячеек, Необходимо составить функцию в которой зависимости от условий будем происходить смещение массива
 
Для вспомогательная таблица:
Код
=СУММЕСЛИ(СМЕЩ($B$2;ПОИСКПОЗ($E11;$A$3:$A$20;0);0;ПОИСКПОЗ("Прим.:";СМЕЩ($A$2;ПОИСКПОЗ($E11;$A$3:$A$20;0);0;20);0)); F$10;СМЕЩ($C$2;ПОИСКПОЗ($E11;$A$3:$A$20;0);0;ПОИСКПОЗ("Прим.:";СМЕЩ($A$2;ПОИСКПОЗ($E11;$A$3:$A$20;0);0;20);0)))
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
сцепить три ячейки в одну с переносом строки
 
Код
=B1&СИМВОЛ(10)&C1&СИМВОЛ(10)&D1

и не забудьте для ячеек с формулой установить перенос на строки.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Слишком широкое поле справа при выводе документа на печать или документ не центруется
 
Не пробовали сделать так:
при предварительном осмотре в Параметры страницы выбираете "Настраиваемые поля". В появившемся окне в блоке "центрировать на странице" ставите две галочки: "горизонтально" и "вертикально".
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Возврат Даты в числовом виде VBA
 
Цитата
написал:
Как можно исправить без изменения формата ячеек
никак, если Вам нужна именно дата в ячейках, а не число или текст.
Если используются макросы - почему бы не использовать их для установки нужного формата? Что мешает это сделать? Например, можно в модуль листа записать такую обработку(срабатывает при каждом изменении листа):
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rc As Range
    
    On Error Resume Next
    For Each rc In Target
        If InStr(1, rc.Formula, "=ИзвлечьДатуДокумента1(", 1) > 0 Then
            rc.NumberFormat = "dd.MM.yyyy"
        End If
    Next
End Sub
Конечно, скорее всего нужны доп.проверки, чтобы лишнего не делать. Но я показал лишь пример без понимания, подойдет ли такой подход или нет.
И да, функция тогда должна выглядеть так(т.е. возвращать именно дату):
Код
Public Function ИзвлечьДатуДокумента1(Text As String) As Date
    ИзвлечьДатуДокумента1 = CDate(MyReg(Text, "\d{2}\.\d+\.\d+"))
End Function
Накидывать сюда формат через VBA.Format нет смысла. К тому же, если делать через Format, на некоторых ПК и вовсе будет ошибка, если формат даты в локализации отличается от "ДД.ММ.ГГГГ".
Изменено: Дмитрий(The_Prist) Щербаков - 12.05.2025 13:01:55
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Возврат Даты в числовом виде VBA
 
Формат ячеек установите Дата.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Безопасность проекта
 
Цитата
написал:
Invisible Basic - обфускатор кода
есть ложка дегтя: если в кодах используется обращение к диапазонам вида [A25], [имя_диапазона] - они тоже обфусцируются :) Но только внутри кода - сами имена остаются такими как были. Следовательно, мы получаем исходно нерабочий код.
Точно тоже самое с кодовыми именами листов.
Это из того, что помню навскидку, когда лет 10 назад эту приблуду тестировал.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 518 След.
Наверх