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

Страницы: 1
"Новый год к нам мчится...", Какой же Новый год без волшебства
 
С наступающим Новым годом, Планетяне, Мастера цифрового волшебства!!!
Ваша способность создавать магию с помощью кода и дарить решения, как настоящие волшебники, вдохновляет!
Пусть в новом году ждут увлекательные проекты, захватывающие вызовы и успешные релизы!
Желаю вам креативности, энергии и удачи в написании новых «сказок» на языке программирования!
Наслаждайтесь замечательным зимним отдыхом в праздничные новогодние дни, яркими подарками и приятными сюрпризами! )
Добавление данных в таблицу в указанной последовательности
 
Здравствуйте!
Уважаемые планетяне, помогите, пожалуйста, дополнить данными таблицу. Пример во вложении.
Буду благодарна любой помощи.
Преобразовать дату из формата "YYYY-MM-DD HH:MM:SS.sss" в формат "ДД.ММ.ГГГГ"
 
Здравствуйте!
Помогите  преобразовать дату из формата "YYYY-MM-DD HH:MM:SS.sss" в формат "ДД.ММ.ГГГГ" с помощью форматирования ячейки.
Формулой и с помощью PQ знаю.
Код
2020-12-30 07:26:34:34.000   в дату 30.12.2020
PQ. Разное поведение функции Table.Max при выборе строк с максимальной датой (при наличии нескольких строк с одинаковыми датами), PQ.Table.Max
 
Началось здесь
Открыла все-таки отдельную тему по своему уже вопросу, а то неудобно хулиганить в чужой теме.
AlienSx,  давайте поговорим...
Уважаемые знатоки прошу вас подключиться и высказать свое мнение, очень надеюсь на вашу помощь.
Итак, что имеем:
1. Если я использую код с функцией
Код
f = {"a",(x)=>Date.From(Text.BeforeDelimiter(x[e]," "))},
то выбирается первая строка.
Если делаю предварительно преобразование столбца с датами, а потом уже работаю с подготовленными корректными датами (т.е. с теми датами, которые понимает мой Excel в русских традициях )) ), то выбирается последняя строка (как и хочется нам).
2. Проверяла свой файл на офисе 2021, 365, даже 2013. Результат одинаковый. На всякий случай обновление сделала, но версия актуальная. Значит и не баг(предположение).
3. Вариант с
Код
f = {"a",(x)=>Date.From(Text.BeforeDelimiter(x[e]," "), "ru-RU")} 
не изменил ситуацию.
4. Теперь только предположения... В разных локалях функции по работе с датами отрабатывают по-разному, возможно последовательность обработки строк другая. Получается я должна все-таки преобразовать столбец в даты, а потом передать в Table.Max, а не обрабатывать каждый элемент столбца с датой функцией на лету (надеюсь я правильно выражаюсь на вашем языке, который я плохо понимаю).
5. У меня все.., готового ответа у меня нет. Какие ваши мысли, что посоветуете уважаемые знатоки?
Выгрузка текстовых значений (числа как текст, ведущие нули) из массива в макросе на Лист
 
Здравствуйте!
У меня вопрос выгрузки текстовых значений (числа как текст, ведущие нули) из массива в макросе в ячейки.
Не люблю использовать массивы в коде VBA, так как летит форматирование к черту...
И чтобы все данные без потери их значимости были выгружены из массива, надо шаманить с форматами.
Если таблицы огромные и столбцов под сотню, вообще грустно.
Подскажите как избежать ручного форматирования исходных данных в текстовый или перевод форматирования данных в текстовый в коде (это долго, да и пропустить можно, а значит "повтори сначала").
Изменено: Ma_Ri - 06.08.2024 15:55:24
Разделить текст по разделителю
 
Здравствуйте!
Не знаю как подойти к решению этой задачи. Пожалуйста, подскажите.
Необходимо разделить текст. Тексты в ячейки разной длины, бывают очень большие. Это я выложила вроде шаблона.
Интересует текст, заключенный в скобки в конце строки.
Если в конце закрывающей скобки нет, то текст остается исходный и переносить в отдельный столбец ничего не надо.
Если есть в конце закрывающая скобка, необходимо найти соответствующую ей открывающую скобку и текст вместе со скобками перенести в отдельный столбец. В столбце с исходным текстом этот текст необходимо удалить.
Изменено: Ma_Ri - 31.07.2024 17:57:21
PQ. Сформировать наименования столбцов из данных, содержащихся в двух строках таблицы.
 
Здравствуйте!
Есть таблица с двухуровневыми заголовками.
Подскажите, как красиво оформить наименования столбцов.
Применить условие: если в первой строке текст "из них", то берем наименование по ссылке из второй строки.
"Мышкой" как-то не очень вариант.
UPD: Постараюсь сама справиться как только освобожусь, извините, что потревожила(
Всего доброго! )
Изменено: Ma_Ri - 23.07.2024 15:00:17
Не получается отменить границы копирования на Листе
 
Здравствуйте!
Уважаемые планетяне, я к вам с просьбой.
Я работала с двумя файлами: один с макросами, который выполнял одну задачу и другой с запросами PQ, который после обновления запросов с личного ноута перенесла на рабочий комп. Я забрала кое-какие данные из файла с макросами и далее я уже работала с кучей других файлов. В один момент, когда я вернулась в книгу с макросами обнаружила «марширующих муравьев» в области копирования и на мои действия об отмене («esc») они не реагировали.
Т.е. я перемещаюсь по Листу, но и граница с муравьями тоже перемещается, и она уже не привязана к каким-то ячейкам.
Я вставила строку кода в модуль, но не помогло.
Код
Application.CutCopyMode = False
Помогло только переопределение области копирования на этом Листе.
Я поняла, что у меня появилась проблема, но с причиной разбираться не было времени, а именно вследствие чего это возникает…
Очень прошу вас подскажите мне на что обратить внимание, как реагировать и решать такую проблему.
Достаточно будет ваших советов и предположений, так как что-то приложить не получится.
Выбор функции PQ с помощью intelisens
 
Здравствуйте!
При вводе функции PQ с помощью Intellisense делаю выбор функции и подтверждаю ввод <tab> происходит вставка функции рядом с уже введенным текстом.
Подскажите как вы с этим боретесь?
Изменено: Ma_Ri - 11.06.2024 14:36:42
Настройка перемещения ячейки на Листе
 
Здравствуйте!
Понимаю, что наверное бредовая тема и вопрос, но все же хочу спросить.
После того, как установили на работе Microsoft Office 2013 коллеги (уважаемые) высказывают недовольство по поводу того, что при перемещении ячейки на Листе, их раздражает мелькание... Но т.е. они замечают само перемещение ячейки (ее путь от одной ячейки до другой), а им бы хотелось, чтобы сразу ячейка выделялась. Утверждают, что в Microsoft Office 2010 все было хорошо, а вот сейчас им это мешает "до головокружения"...
Я вообще как то не замечаю этого и поэтому не понимаю их проблемы. Но может все-таки можно каким-то образом настроить, чтобы любимые коллеги не огорчались...
Рассчитать уд. вес, принимая значение 100% из определенной строки
 

Здравствуйте!

Помогите, пожалуйста, рассчитать уд.вес для каждой строки каждого столбца с данными при условии, что данные по каждой строке "Итого SDF_xx" составляют 100%.

Не могу понять как определять каждую следующую строку "Итого SDF_xx", чтобы брать данные для расчета.

Вывести список уникальных значений с подсчетом суммы положительных и отрицательных значений., Желательно макрос
 
Здравствуйте!
Мне необходимо в код вставить расчет положительных и отрицательных значений (из разных столбцов) для списка уникальных значений.
Если бы просто вывести список уникальных значений и по ним суммы, такие варианты есть, но вот с разделением на положительные и отрицательные суммы - это уже список получается не уникальный и как сделать не знаю...
Надежда на Вашу помощь. В файле описание сделала, но вот насколько оно получилось информативным...???
Новогодняя кутерьма
 
Здравствуйте!
Offtopik: Что с «Планетой», ВАС заморозили? Где же украшение пространства к Новому году, где же праздничный декор?
Такая мелочь, но такая важная для посетителей сайта. Мне вот сразу это бросилось в глаза, так как у всех сейчас новогодняя кутерьма.
Сейчас все дышат предновогодним настроением и хотелось бы, чтобы на этом сайте пользователи с ходу чувствовали атмосферу праздника…а не дежурный антураж…
Но возможно у Вас другое мнение, как говорится на вкус и цвет…

Дорогие форумчане, поздравляю с наступающим Новым годом!
Спасибо вам за труд, за потраченные усилия, за ваши волшебные решения.
Спасибо вам за помощь, она всегда на высоком профессиональном уровне.
Вы Боги Excel, Вы лучшие!
Желаю, желаю, желаю…
Максимального счастья!
Минимальных потерь!
Искренних друзей!
Светлых мыслей!
Творческих идей!
С наступающим! )
Проверка правильности выбора нескольких файлов из папки
 
Здравствуйте!
Помогите, пожалуйста, сделать проверку в коде на правильность открытия книг.
Есть папка, в которой находятся файлы с формами с расширением ".xlsx" и с именем, которое начинается с "1*".
В этой же папке книга  ThisWorkbook.
Ежедневно старые файлы с формами удаляются, а новые сохраняются.
Файлы сохраняются с именами 5_29.11,   10_29.11,    11_29.11,   13_29.11, и т.д.
Завтра это будут книги с именами 5_30.11,    10_30.11 и т.д.
Но в коде для проверки открываем только формы, например, 11_29.11,    13_29.11,    14_29.11,
в каждой форме есть номер по классификатору, например, 0682565, 0682583, 0682570.
Эти номера всегда расположены в формах в кодовой зоне (приложила файл, чтобы наглядно показать).
Так вот, мне надо сделать проверку, что выбраны именно эти формы 0682565, 0682583, 0682570 сохраненные с именами 11_29.11,   13_29.11,    14_29.11.
Так как могут ошибочно быть выбраны файлы с другими номерами, либо необходимая мне форма ошибочно сохранена под другим именем,
поэтому целесообразно проверить именно коды формы в открываемых файлах.
Если я открываю одну форму я проверяю так:
Код
Dim Forma As Range
With Worksheets(2)
 Set Forma = Rows("1:5").Find("KodForma", , xlValues, xlPart) 
    KodForma = Forma.Offset(, 1)
If KodForma = "0682565" Then
            код .....
        Else   
            MsgBox ("Это форма: " & KodForma & " выбрана неверно." & vbNewLine & " Необходимо выбрать форму '0682565'")
            .Close SaveChanges:=False 
        Exit Sub
End If
End With
Помогите, пожалуйста, подобную проверку сделать при открытии выбранных сразу нескольких файлов в папке
'Открытие всех файлов с расширением ".xlsx" и с именем, которое начинается с "1*" (сохраненные с именами 11_29.11,   13_29.11,    14_29.11, если конечно сохранены верно) в одной папке с книгой  ThisWorkbook
Код
MyPath = "E:\2_ХХ\_2023\.......\ХХХ_ежедневный"
 MyName = Dir(MyPath & "\" & "1*.xlsx")
 FN = MyPath & "\" & MyName
 Do While MyName <> ""
    FN = MyPath & "\" & MyName
    Excel.Application.Workbooks.Open FN
    MyName = Dir
Loop
Изменено: Ma_Ri - 29.11.2023 17:31:39
удалить строку по значению и индексу заливки ячейки, доработать условие для отбора строк по условию в макросе
 
Здравствуйте!
У меня в таблице выделяются определенной заливкой строки по определенному условию,
в том числе встречаются строки с пустыми значениями.
Мне необходимо удалить строки именно с этой заливкой, но при условии,
что в строке с определенным диапазоном нет значений (пусто).
Макрос сейчас удаляет строку если хоть одна ячейка пустая и имеет указанную заливку.
Код
Set ra = ws3.Range(ws3.Range("G4"), ws3.Range("G" & B)).Resize(, 11)
  
    Dim rCell As Range, delAr As Range
    
    For Each rCell In ra
        If rCell.Text = "" And rCell.Interior.color = 13408767 Then
            If delAr Is Nothing Then
                Set delAr = Range(rCell.Row & ":" & rCell.Row)
            Else
                Set delAr = Union(delAr, Range(rCell.Row & ":" & rCell.Row))
            End If
        End If
    Next
        If Not delAr Is Nothing Then delAr.Delete
А мне надо, чтобы удаление строк было если все ячейки в диапазоне с пустыми значениями и имеют заливку с индексом = 13408767
Код
Set ra = ws3.Range(ws3.Range("G4"), ws3.Range("G" & B)).Resize(, 11)
Помогите, пожалуйста, изменить код. Файл таблицы приложила.
Преобразовать таблицу (убрать объединение, переместить сноски)
 
Добрый вечер!
У меня в работе очень неудобная таблица.
Чтобы данные каким-то образом использовать, надо преобразовать,
но строк много и есть нюансы и вообще ужас...
Попыталась изобразить в файле то, что есть (таблица слева) и то,
что хотелось бы получить (на первый взгляд) (таблица справа).
Хотелось бы надеяться, что Вы сможете помочь и что-то предложить (пожалуйста, пожалуйста...)
В файле описание приложила. Ошибку сделала в описании в файле,
числовые данные в выделенном столбце все должны быть перенесены в левый столбец,
а в правом остаться только текстовые ссылки
Изменено: Ma_Ri - 01.11.2023 17:59:13
Проверить столбцы на наличие дубликатов с выводом сообщения
 
Добрый день!
Подскажите, пожалуйста, как в код включить проверку на наличие дубликатов в двух столбцах
Код
'Столбец один из
Sheets(1).Range("W4:W" & m)
'В случае если есть хотя бы один дубликат, то вывести сообщение:
MsgBox "В столбце имеются дубликаты", vbCritical
'в противном случае
MsgBox "В столбце дубликаты отсутствуют", vbInformation
Подсвечивать дубликаты или удалять строки с ними не надо,
просто проверить на наличие и вывести соответствующую информацию.
Вывести год из столбца с датами и присвоить имя Лист1 = Год
 
Здравствуйте!
У меня из столбца с датами выбрана самая ранняя дата, из нее я взяла только год,
и мне необходимо присвоить имя Worksheets(1) = Год.
Но дело в том, что Год выводится в формате даты, а не в общем формате, чтобы правильно было присвоено имя.
То есть, если дата = 31.12.2019, то год (в общем формате) = 2019, год (в формате дата) = 11.07.1905.
В ячейку я найденную дату не вывожу, чтобы отформатировать ее в формат "Общий".
Соответственно имя Листа = 11.07.1905.
Помогите, пожалуйста, исправить.
Код
Sub Test()
Dim Min_date As Date
Dim iCl&, lRow&

iCl = Worksheets(1).Rows(1).Find("Дата").Column
lRow = Worksheets(1).Cells(.Rows.Count, iCl).End(xlUp).Row
Min_date = Application.WorksheetFunction.Min(Columns(iCl))
Min_date = Format(Min_date, "yyyy")
Debug.Print Min_date
Worksheets(1).Name = Min_date
End Sub
Формула. Количество и сумма при выполнении условий
 
Добрый день!
Работаю с таблицей, используя формулы с (=ФИЛЬТР),
сейчас мне надо заменить на формулы, доступные для Офис 2013.
Желательно не (=СУММПРОИЗВ). Один из примеров и подробности по условиям в файле.
Скопировать отсутствующие строки из одной книги в другую
 

Здравствуйте!

Помогите, пожалуйста, скопировать отсутствующие строки из одной книги в другую по идентификатору (столбец "Н" = "ZV_DOC").

Макрос для сводной таблицы
 
Здравствуйте!
Есть сводная таблица, которая построена с дополнительным вычислением.  
Пробовала 2 варианта. Но есть вопросы... Описание в файле.
Источник с большим количеством данных и из-за дополнительных вычислений
приходится проводить дополнительные проверки (вычисления),
чтобы проверить корректность данных в сводной таблице.
Не очень удобно.
Поэтому хотелось бы увидеть макрос по одному из вариантов (скорее всего 2)...
Сразу вспоминается фраза ...
Цитата
Sanja написал:
Разбаловали Вас
Простите....
Изменено: Ma_Ri - 24.09.2023 18:43:36
Перенос данных по условию
 
Здравствуйте!
Сложновато даже сразу объяснить условие, но думаю, что получилось.
Выборка свыше 40 столбцов.
Необходимо по столбцу "Рег.дата" (не обязательно это будет столбец(4)) перенести данные по условию:
1) выбираем на отдельный Лист  строки за Март 2020 года .
Но выбираем строки, начиная с последнего рабочего дня предыдущего месяца (февраль 2020) = 28.02.2020 и без учета последнего рабочего дня Марта 2020  = 31.03.2020.
Значит переносим строки за Март 2020 года с 28.02.2020 по 30.03.2020 (без учета 31.03.2020)
2) на другой Лист переносим строки за Апрель 2020, начиная с последнего рабочего дня Марта 2020 = 31.03.2020 по 29.04.2020 (без учета 30.04.2020, т.к. последний рабочий день в апреле 2020 года = 30.04.2020)
Последний рабочий день месяца в 2020 году выбираем без учета выходных (суббота, воскресенье) и праздничных дней
найти данные за определенную дату и скопировать в другую книгу в строку с этой же датой
 
С Добрым воскресным днем!!!
Помогите, пожалуйста с кодом:
Найти по выбранной дате в одной книге (например, Лист «Форма») данные из графы (14, 15, 16)
и скопировать в книгу "VNP" (например, Лист «VNP») за эту же дату в графы (10, 11, 12).
удалить строки с определенным текстом, а также с пустыми ячейками
 
Здравствуйте! Помогите, пожалуйста, дополнить код еще одним условием.
Код нашла здесь на форуме. В нем удаляются строки, содержащие определенный текст.
Но мне кроме этого необходимо удалить строки с пустыми ячейками.
Код
Dim arrKey(), arr(), arrS()
Dim lRow&, i&, iKey, iTemp
Dim myRng As Range, delRows As Range
Dim Пример As Worksheet
Set Пример = Worksheets("Пример")
arrKey = Array("ду", "му00", "абк", "атс", "гств", "удтс", "тдчс", "пмп")
With Worksheets("Пример")
    Set myRng = .Range(.Cells(2, 1), Cells(.Cells(Rows.Count, 1).End(xlUp).Row, .Cells(2, .Columns.Count).End(xlToLeft).Column))
    arr = myRng.Value
End With
ReDim arrNew(1 To UBound(arr, 1), 1 To UBound(arr, 2))
'With CreateObject("Scripting.Dictionary")
    For i = 1 To UBound(arr, 1)
        For Each iKey In arrKey
            iTemp = InStr(arr(i, 9), iKey)
            If iTemp > 0 Then Exit For
        Next
        If iTemp > 0 Then
            If delRows Is Nothing Then
                Set delRows = myRng.Rows(i)
            Else
                Set delRows = Union(delRows, myRng.Rows(i))
            End If
        End If
    Next
  
'End With
  
If Not delRows Is Nothing Then delRows.Delete
Перенос данных по определенным столбцам при условии, что за эту дату данных нет
 
Добрый день!
Есть файл-источник, выгружается разными пользователями, поэтому расположение столбцов не совпадает с файлом - накопителем.
Некоторые столбцы, которые есть в файле-накопителе могут отсутствовать (это исключение, в дальнейшем корректируется).
Необходимо данные из источника перенести в файл-накопитель, если дата - источника отсутствует в файле-накопителе в конец таблицы.
Сложность, что столбцы разбросаны в источнике, в том числе и столбец -Дата, который необходимо проверить.
Изменено: Ma_Ri - 26.08.2023 08:53:17
проверить открыта книга другим пользователем (книга на сетевом диске)
 
Здравствуйте! Мне необходимо выбрать несколько книг, их переименовать, а потом уже открыть.
Код
avFiles = Application.GetOpenFilename _
                ("Excel files(*.xls*),*.xls*", 1, "Выбрать ф. a, b, v", , True)
    If VarType(avFiles) = vbBoolean Then
'была нажата кнопка отмены - выход из процедуры
        Exit Sub
    End If
        For Each x In avFiles
        s = Dir(x, 16)
        lp = InStrRev(s, ".") 
        sExt = Mid(s, lp, Len(s) - lp + 1)
        sNewFName = InputBox("Укажите новое имя для файла '" & s & ")
        If sNewFName <> "" Then
            FileCopy x, "C:\Users\\" & sNewFName & sExt
        End If
    Next x
После того как я их выбрала и пытаюсь скопировать на строке стопорится, так как файл в сети уже кем-то открыт:
Код
FileCopy x, "C:\Users\\" & sNewFName & sExt
Как можно в коде прописать проверку открыт другим пользователем выбранный файл и если занят, то в msgbox вывести кем используется.
Запрет на сохранение книги с кодом
 
Здравствуйте!
Подскажите, пожалуйста, возможное решение в моем случае.
Есть в модуле несколько макросов, которые работают автономно.
Но цель все же - это полная проверка с помощью запуска всех макросов последовательно друг за другом.
Запускаем макрос1(), проверяем его выполнение, если все ОК, запускаем макрос2() и т.д.
и последний макрос4() - это сохранение книги в формате "xlsx" (через сохранить как).
Но в процессе выполнения макросов возможно пользователь и не дойдет до сохранения книги
(возникнут ошибки, которые необходимо устранить, а затем вновь запустить проверку)
и случайно нажмет кнопку "Сохранить". В моем случае это крайне неприятно и совершенно нежелательно.
Как мне в коде сделать запрет на сохранение изменений в книге ThisWorkbook
и предложить пользователю "сохранить как новую книгу или копию"
или выполнить последний  код макрос4(), который сохранит книгу без вреда книге ThisWorkbook.
Код
Sub Макрос1() 
Sub Макрос2()
Sub Макрос3()

Sub Макрос4()
ThisWorkbook.SaveAs Filename:="C:\Тест\НоваяКнига.xlsx"
End Sub
Изменено: Ma_Ri - 25.07.2023 14:22:59
Выбрать книги в имени которых содержится дата (макрос)
 
Здравствуйте, подскажите, пожалуйста, как сделать проверку: содержит ли имя файла (который открыт) дату.
Файлы выбраны (около 10) и открыты пользователем с помощью Application.FileDialog(msoFileDialogFilePicker).
Имена файлов содержат дату в виде:
14.07.2023
22.07
13.07.2023N
Кроме этих файлов открыты еще и много других файлов.
Мне необходимо проверить, если в имени есть дата, то я работаю дальше с этим файлом.
Вот эти 3 файла должны быть выбраны.
Страницы: 1
Наверх