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

Страницы: 1
Нумерация по порядку внутри одного года, Как вести нумерацию по порядку внутри одного года и начинать с начала при переходе к новому году
 
Всем привет.

Есть достаточно простой макрос (делал в основном с помощью макрорекодера).
Суть макроса: при нажатии кнопки открыть Excel в SharePoint посмотреть какой номер стоит последний в столбце присвоить следующий по порядку прибавив в начале номера две цифры года.

Код макроса ниже:
Код
Sub open_book()

Dim test_nmbr As String

Application.DisplayAlerts = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

    Workbooks.Open Filename:= _
        "https://sharepoint.itms.ru/DocLib3/Номера%20тестов.xlsm?d=wdac482a1cde9486f921f68de80bdaa41"
       
    ActiveWorkbook.LockServerFile
        PosStr = Cells(1, 1).CurrentRegion.Rows.Count
        Cells(PosStr + 1, 1).Activate
        ActiveCell.FormulaR1C1 = "=""t_""&RIGHT(YEAR(TODAY()),2)&""_""&RIGHT(((TRIM(MID(SUBSTITUTE(RC[-1],""_"",REPT("" "",50)),50,50))&RIGHT(R[-1]C,LEN(R[-1]C)-FIND(""_"",R[-1]C,4)))*1),4)+1"
        ActiveCell.Value = ActiveCell.Value
        test_nmbr = ActiveCell.Value
        ActiveWorkbook.Close SaveChanges:=True
    
    With ThisWorkbook
        ActiveCell.Value = test_nmbr
    End With
    
 Application.ScreenUpdating = True
 Application.DisplayAlerts = True
 Application.Calculation = xlCalculationAutomatic
 
End Sub
Но хочется чтобы при переходе на новый (2025 год) нумерация началась с 0001. Как это можно сделать.
Как есть сейчас и как надо в файле во вложении.
ВПР большого массива к большому массиву, Самы быстрый способ собрать данные между двумя большими массивами
 
Всем добрый день.

На форуме есть похожие темы но не совсем то что нужно потому что, как правило, разговор идет о том что нужно подтянуть данные к маленькому массиву из большого.

В моем случае есть два массива
первый на 3+ млн строк в нем даты и номера - по нему нужно вести поиск
второй на 500 тыс. строк к нему нужно подтянуть по номерам даты из перового массива

Так как массив по которому ведется поиск очень большой я разбил его на несколько листов. Соответственно обычный  ВПР работает очень медленно, после просчета формулы по одному листу, делаю формулы значениями и прописываю новый впр для другого листа для тех значений которые не были найдены в первом.

Можно ли как-то ускорить весь это процесс? Может быть через какой-то хитрый макрос VBA, обычный цикл как я понял скорости не прибавит?
Изменено: Starik19 - 27.04.2024 10:39:34
Перенос цепочки примечаний в заметку., Как перенести текст из цепочки примечаний в заметку. Чтобы не потерять примечания при переходе с Office 365 на Office 2019
 
Уважаемые форумчане добрый день.

В связи с переходом с Offie 365 на Office 2019 нужно сохранить примечание сделанные в версии Office 365. К сожалению Office 2019 функцию "примечания" не поддерживает. Файл пример во вложении

На просторах форума нашел макрос:
Код
Sub Comment_Text()
On Error Resume Next
For Each R In ActiveSheet.UsedRange
    'R.Value = R.Value & R.Comment.Text  'добавляет примечания к данным ячейки
    'R.Value = R.Comment.Text  'меняет данные ячейки на текст примечания
    R.Value = R.CommentThreaded.Text
Next
Cells.ClearComments
End Sub

Данный макрос сохраняет текст примечания в ячейку, но игнорирует все ответы которые были сделаны к этому примечанию.
Как изменить макрос чтобы:
1. Сохранялись не только примечания но и ответы на них
2. Сохранять текст примечания (и ответы) не в ячейку, а в заметки.
Изменено: Starik19 - 07.07.2023 13:18:42
Сводная диаграмма с накопительным итогом, Как построить сводную диаграмму для отображения данных за неделю и месяц
 
Добрый день
Подскажите, пожалуйста, как правильно построить сводную диаграмму на которой можно просматривать данный по % брака за день и за месяц. Данные в таблице накопительным итого.
Если я добавляю в поле "значение" % то по дням показывает верное значение, но за месяц получается ошибка так как сводная таблица тем или иным образом агрегирует данные.
На сколько я понимаю нужно копать в сторону вычисляемое поле.
Пример файла во вложении
Изменено: Starik19 - 31.03.2023 13:35:58
РАНГ по разным категориям из одного списка, Проставить ранг основываясь на данных по времени с учетом категории участника
 
Добрый, день.
Ни как не могу решить задачу.
Есть список участников "Имя" у каждого участника есть "Категория" и "Время" выполнения, причем время стоит в одном столбце для всех участников.
Необходимо проставить ранги для каждой категории в отдельности. Т.е. 10 у профи должно быть 1 ранг и 10 у начинающего тоже должно быть 1 ранг.
Пример того как должно быть во вложении.
Решение через добавление функции если не поможет, так как пример упрощенный и в реальности таких категорий может быть более 100 - что сделает формулу через если слишком громоздкой.
О том что можно через Power Query Развернуть строки категорий в отдельные столбцы с своими значениями знаю, но учитывая что категорий много это тоже не совсем подходит.
Буду весьма признателен  за помощи в решении.
Изменение значения TextBox при выборе другого значения из списка ListBox, При выборе одного из значений в списке ListBox оно заносится в TextBox если выбрать другое значение данные в TextBox не меняются
 
Уважаемые форумчане, доброе утро.
В файле во вложении есть форма с TextBox и ListBox. В ListBox берутся значения из диапазона A2:A11 и частично совпадающие с данными введенными в TextBox. Если в ListBox выбрать одно из значений оно присваивается TextBox и не меняется если выбрать другое из списка. Если стереть выбранное из ListBox значение то выходит ошибка Run-time error '70': Permission deniend.
Необходимо чтобы при выборе значения в ListBox оно каждый раз переносилось в TextBox. Была возможность стереть денные после переноса их из ListBox в TextBox.
Подскажите, пожалуйста, в каком направлении копать.
runtime error 91 object variable or with block variable not set если в ячейках формула а не значения, В макросе при выборе в ListBox варианта если он в ячейке записан формулой выходит ошибка runtime error 91
 
Уважаемые форумчане, добрый вечер.
Во вложении файл с макросом на котором один TextBox и один ListBox. При вводе значений в TextBox в ListBox  появляются варианты данных из диапазона. Если данные в диапазон A2:A11 записаны в виде значений все работает отлично. Если в диапазоне A2:A11 будут формулы то макрос выдаст ошибку при выделении строки в ListBox  (runtime error 91 object variable or with block variable not set)
Скажите как подставить значение из ListBox которое берётся из диапазона ячеек с формулами в TextBox. В TextBox нужно вернуть именно значение (результат вычисления формулы).
Ошибка Run-time error '1004' при запуске с другого листа, При запуске макроса с листа Sheet1 все ок, при запуске с Sheet2 ошибка. Помогите найти причину ошибки.
 
Добрый день, уважаемые гуру Excel.
Есть файл с макросом, делал не я. Суть макроса в подстановке значений в ListBox в зависимости от того какие символы введены в TextBox. Данные для подстановки берутся из диапазона на листе Sheet1, если запускать макрос на листе Sheet1 все работает как надо.
Но если добавить еще один лист Sheet2 и попытаться запустить макрос находясь на листе Sheet2  выходит ошибка: Run-time error '1004': Application-defined or object-defined error
Необходимо запускать макрос с листа Sheet2 используя для подстановки значений в ListBox диапазон на листе Sheet1.
Помогите, пожалуйста, разобраться почему появляется ошибка и как ее исправить.
Файл с примером во вложении
Тормозит файл с умной таблицей. Как ускорить работу?, Есть файл с умной для сбора данных. В последнее время стал очень сильно тормозить. Помогите выяснить причину.
 
Добрый день, уважаемые форумчане и гуру Excel.
Столкнулся с такой проблемой, стал тормозить файл для сбора данных - данные вносятся вручную в умную таблицу. Файл задумывается (выполняет вычисления) каждый раз при добавлении новой строки, включении фильтров. Пробовал преобразовать умную таблицу в диапазон - помогает но не сильно.
Подскажите, пожалуйста, в чем причина таких "тормозов" (постоянных пересчетов) и как ускорить работу файла?
Раньше таких проблем не было с учетом даже того что количество строк было значительно больше (данные за весь 2021 год).
Файл по ссылке https://disk.yandex.ru/d/luWFmL4q8hqSyQ. Часть строк удалена для минимизации веса, чем больше строк появляется тем дольше думает.
Ошибка в макросах под некоторыми учетными записями., в личных учетных записях макрос работает а в общих появляется ошибка.
 
Уважаемые гуру Excel, добрый день.
Столкнулся со странной проблемой.
Есть файл с макросом суть - через user form  собрать данные и отправить их в другой файл в который агрегирует информацию. Макрос отлично работает на всех ПК из под личных учетных записей (у большинства сотрудников свой логин и пароль для входа в Windows), но на общей учетке макрос выдает ошибку:
Run-time error '-2147352571 (80020005)'
Type mismatch

Ругается вот на эту строку:
Код
Me.ComboBox2.AddItem .Cells(i, 3)
Что уже проверил, версии windows одинаковые:
Запуск на личных учетках:
Windows на английском, Office 365 русский - работает
Windows на русском, Office 365 русский - работает
Windows на английском, Office 365 английский - работает
Windows на русском, Office 365 английский - работает

Запуск на общих учетках:
Office 365 - ошибка
Office 2016 - ошибка
Доступ на редактирование, чтение, запись к файлу есть - пробовал открыть, написать 123123 и сохранить, все работает.

Пробовал закоментить часть кода с ошибкой тогда появляется ошибка на строке
t_dropout = Application.WorksheetFunction.VLookup(Line, Sheets("Target").Range("A:B"), 2, 0):
Код
If dropout_p <> 0 Then
    t_dropout = Application.WorksheetFunction.VLookup(Line, Sheets("Target").Range("A:B"), 2, 0)
    Else:
    t_dropout = ""
End If
Складывается впечатление, что ошибка появляется при обращении к данным на листе.
Попробовал все необходимые данные собрать на один лист - не помогло.

Проблемный файл во вложении
Подскажите, пожалуйста, куда копать.

файлы удалены - превышение допустимого размера вложения [МОДЕРАТОР]
Плавное уменьшение показателя для достижения поставленной цели.
 
Уважаемые форумчане, добрый день.
Уже несколько дней не могу решить задачу:
Есть базовое значение показателя потерь при производстве = значению в первом месяце. Есть таргет по потерям которого нужно достичь по итогам года.
Объем в течении года не постоянный.
Как расчитать плавное помесячное снижение потерь чтобы выйти на таргет с учетом объемов производства.
В прикрепленном файле расчитывается так называемый "линейный" Glide Path который от объемов не зависит из-за чего при слишком высоком базовом значении взвешенный таргет получается выше планируемого.
Буду всем очень благодарен за решение или хотя бы направление куда копать
Игнорирование извещения системы безопасности при открытии книги макросом
 
Доброго времени суток, уважаемые эксперты.
Подскажите, пожалуйста, как игнорировать извещения системы безопасности при открытии книги макросом?
Суть: есть макрос который открывает книгу и копирует из нее данные по условию при это во время выполнения макросы вылетает извещение системы безопасности с предложением включить или отключить макрос. Можно как-то игнорировать это сообщение либо выбирать пункт "включить макросы" средствами VBA?
Рабочий код прилагаю:
Код
Sub Данные_из_WMS_Waste()
Application.ScreenUpdating = False 'отключаем обновление экрана (отображение изменений)
Application.Calculation = xlCalculationManual 'отключаем автоматический пересчет формул
Application.AskToUpdateLinks = False 'отключаем предупреждения на обновление данных
Application.DisplayAlerts = False 'отключаем сообщения об ошибках
Call Удалить_старые_данные
'Шаг 1: Определяем переменную.
Dim FName As Variant
Dim bookconst As Workbook
Dim abook As Workbook
Set abook = ActiveWorkbook
'Шаг 2: Метод GetOpenFilename активизирует диалоговое окно.
FName = Application.GetOpenFilename
'a – определяем тип файла
FileFilter = "Excel Workbooks,*.xl*"
'b – заголовок окна
Title = "Выбери файл, который надо открыть"
'c – множественный выбор
MultiSelect = False
'Шаг 3: Если был выбран файл, открыть его!
If FName <> False Then
Workbooks.Open Filename:=FName
'Обозначаем переменную rng как диапазон
Dim rng As Range
'если нет автофильтра, то ставим его
With Worksheets("WOTHP")
        If .AutoFilterMode = False Then .Range("A1:P1").AutoFilter
'применяем автофильтер
         Worksheets("WOTHP").Range("$A$1:$P$1000").AutoFilter Field:=3, Criteria1:="CAP"
'копируем видимый диапазон
Set rng = Worksheets("WOTHP").Range("A2:N1000").SpecialCells(xlCellTypeVisible)
'вставляем скопированный диапазон
ThisWorkbook.Activate
If Err = 0 Then
        rng.Copy
        Worksheets("CAP_из_WMS").Cells(3, 1).PasteSpecial xlPasteValues
        Application.CutCopyMode = False
    End If
End With
End If
Application.Calculation = xlCalculationAutomatic 'включаем автоматический пересчет формул
Application.ScreenUpdating = True 'включаем обновление экрана (отображенеие изменений)
Application.AskToUpdateLinks = True 'включаем предупреждения на обновление данных
Application.DisplayAlerts = True 'включаем сообщения об ошибках
End Sub

 
При вводе значения проверять является ли другая ячейка пустой.
 
Добрый день, уважаемые мастера Excel.
Наставьте на путь истинный. Как можно организовать проверку ячейки на пустоту. Чтобы при вводе любого значения в ячейку B1 проверялось является ли ячейка A1 пустой, если да - выводить сообщение об ошибке. Можно ли в принципе организовать данный функционал с помощью "Проверки данных"?
VBA. Сделать числа отрицательными (в зависимости от условия в соседнем столбце)
 
Доброго времени, суток, уважаемые гуру Excel.
Возник такой вопрос: как с помощью макроса в VBA сделать отрицательными числа в столбце B в зависимости от условия в той же строка но в столбце A
Пример прилагаю.
Лишние значения в диаграммах, При применении среза в качестве фильтра для диаграммы, показывает лишний ряд значений.
 
Добрый день, уважаемые эксперты Excel.
Возникла такая проблема.
Есть таблица с данными по которой построена диаграмма. С помощью срезов данные в этой диаграмме фильтруются. При этом какой бы номер линии не был выбран, кроме выбранного номера показывает еще и последний столбец - в данном случае данные по линии 8.
Если удалить последний столбец в исходных данных то начинает показывать предпоследний. Если убрать его в фильтре самой диаграммы - тоже самое.
Подскажите как выбрать интересующие линии (одну или несколько) БЕЗ лишних данных (без данных из последнего столбца исходной таблицы).
Суммесли не работает с длинными числами в качестве условия, Суммесли суммируя по условию в качестве которого задано длинное число заменяет последнюю цифру нулем.
 
Добрый вечер, уважаемые эксперты.
Есть таблица в которой в столбце Сцеп объединяются значения из столбцов SKU и Material. Затем функцией "суммесли" складываются значения по условию, выводится не верная сумма 18.163. Хотя для числа 1009139041824244 это должно быть 2.705, а для числа 1009139041824243 это должно быть 15.458. Т.е "суммесли" выдает просто сумму.
Разбираясь с этим вопросом я заменил формулы в столбце Сцеп значениями (копировать -> вставить значениями), затем перевел в число и вместо двух чисел 1009139041824244 и 1009139041824243 получил 1009139041824240. Т.е. получается что Excel для формулы "суммесли" заменяет шестнадцатый символ нулем, что приводит к ошибке.
Помогите решить данную проблему. Может где в настройках Excel можно изменить "точность" поиска/подсчета или похимичить с форматами чисел?
Пример во вложении
 
Автоматическое увеличение диапазона таблицы при добавление новых данных в другую таблицу
 
Добрый день, эксперты.

Возник вопрос:
В одной книге на двух разных листах есть две таблицы. В таблицу 1 на лист1 вносиятся данные с датой, количество строк с одинаковой датой всегда разное.
В таблицу 2 на лист2 необходимо подтягивать уникальные даты из таблицы 1. При этом количество строк в таблице 2 должно автоматически увеличеваться в зависимости от появления новых уникальных дат.
Уникальные значения из таблицы 1 я выбираю с помощью формулы. А вот как научить таблицу 2 просматривать таблицу 1 на наличие новых данных не понимаю.
О том что можно протянуть диапазон таблицы 2 на много строк вниз знаю, но это не подходит.
Файл с примером во вложении.  
Разрыв связей с книгой, которая удалена
 
Добрый день, уважаемые форумчане.

Возникла проблема: есть файл с макросами который используется ежедневно. Для упрощения работы (подтягивания данных из закрытых книг) стоит автообновление связей. При это в книге присутствуют связи с уже удаенными книгами и каждый раз при открытие вылазиет ошибка обновления связей, что очень не удобно, учитывая что файл используется очень часто.

Посоветуйте как разорвать связь с уже удаленными книгами.

Пробовал через открытие архиватором и удаление excternal links
Затем документ открываю и связи восстанавливаются при этом выходит сообщение:

"Удаленные записи: Формула из части /xl/worksheets/sheet2.xml
Удаленные записи: Формула из части /xl/calcChain.xml (Свойства вычислений)"

Файл из кооторого нужно удалить связи приложил.
Автоматическая выборка Всех значений по Двум и более условиям
 
Добрый день, уважаемые знатоки Excel. Есть такая проблема: занялся учетом ежемесячных взносов с людей, взнос должны делать все кто не имеет ранг Rezerv и NewMember, суть задачи выявлять ежемесячно неплотельщиков. Для этого необходимо из ежедневно пополняемой таблицы делать список тех кто не уплатил взнос и не имеет ранга Rezerv и NewMember
Состав плательщиков может меняться (приходить новые, уходить старые).
Пример в файле
Страницы: 1
Наверх