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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 425 След.
Как удалить из таблицы необходимые строки
 
Цитата
Din Adiev написал:
поэтому прошу помочь
ищите по слову ВПР. Из одной таблицы значения ищете в другой по названию компании(или по чем там у Вас надо искать) и все, что не #Н/Д - есть в другой таблице и их можно удалить.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Сортировать по цвету, но так, чтобы у каждого цвета дата отправки была по возрастанию
 
В одном столбце - муторно, но можно. Вызываете настраиваемую сортировку. Первым уровнем указываете По цвету ячейки. И указываете приоритетный цвет. Далее добавляете уровень и все так же, но указываете уже приоритетным второй цвет, потом третий и т.д., пока все цвета не переберете.
И самым последним уровнем добавляете по значению ячейки - по возрастанию.
Или можно привлечь макросы: записываете в книгу UDF по определению цвета заливки и прописываете вызов этой UDF в последнем столбце. А сортировкой потом первым уровнем указываете именно этот столбец, а потом уже по датам.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
bat файл для пересохранения типа файла из xlsb в xlsx
 
Цитата
Adamm написал:
для переименования файлов в формат xlsx
это ничего не даст. Чтобы сменить формат файла Excel его надо будет открыть. И не важно, bat это будет или какой-то макрос.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Дополнить макрос, чтобы преобразования можно было проводить для любого столбца (Inputbox)
 
Цитата
Msi2102 написал:
s = InputBox("Введите номер столбца")
If Not IsNumeric(s) Then Exit Sub
Если указать 0 или отрицательное число - то выхода не будет и код пойдет дальше и в итоге получим ошибку.
Думаю, лучше так:
Код
    Dim lcol&
    lcol = Abs(Val(InputBox("Введите номер столбца")))
    If lcol < 1 Then Exit Sub
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
О переносе надстройки с макросами с одного компьютера на другой
 
Очень многое зависит от самого кода надстройки. Если в кодах не используются какие-либо специфические библиотеки или подключения в Tools-References(которых может не быть на других ПК), а так же обращения к каким-то конкретным локальным файлам, папкам, ресурсам - то все должно заработать в обычном режиме и достаточно будет просто подключить надстройку.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
PQ. После JOIN и перед извлечением, присоединяемые данные необходимо дополнительно сопоставить.
 
Цитата
написал:
Мне не нужна последняя запись
а я писал про последнюю?
Цитата
написал:
Или извлекайте только первую запись
Цитата
написал:
задача не решается при помощи суррогатного ключа
какого-какого ключа? А при чем здесь суррогат? Вы задали вопрос-то какой?
Цитата
написал:
я получаю дублирование данных, его необходимо избежать
Вы спрашивали про избежание дублирования данных - Вам показали. Спросили бы - как найти соответствия по таким-то и таким-то критериям - и ответ получили бы другой.
Вам на основании чего и по каким таким ключам надо найти данные? Когда поясните - тогда и решение можно будет найти. А сидеть и гадать почему именно так на трех строках данных желания нет совсем.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
PQ. После JOIN и перед извлечением, присоединяемые данные необходимо дополнительно сопоставить.
 
Так если нужно по дате и менеджеру связывать, почему связываете только по менеджеру? Вяжите по двум условиям.
Или извлекайте только первую запись(а-ля ВПР в Excel):
Код
try [Менеджеры]{0}[Менеджер] otherwise null
Подробнее здесь описывал: Объединение(слияние) запросов при помощи PowerQuery
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Реально ли через Power Query реализовать то, что делает ВПР с параметром 1 по двум условиям
 
Через функцию немного проще получается и алгоритм более очевидный.
Реализация во вложении.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
VBA. Копирование из Word определенного текста и таблицы c последующей вставкой их в excel.
 
Цитата
Антон Петренко написал:
Помогите пожалуйста сделать код
помощь в чем должна заключаться? :) Где наработки, что конкретно не получается? Вот пара ссылок для начала:
Извлечь данные из таблицы Word с переносом строк
Экспорт выборочных данных из Word в Excel
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Отправка письма вместо MsgBox об успешном запросе HTTP (код 200)
 
Цитата
stevie44 написал:
попробовал,
а почитать мое сообщение вдумчиво? Я там черным по белому указал, как надо обратиться к .responseText.
Вам надо определиться - либо использовать With CreateObject("MSXML2.ServerXMLHTTP"), либо With OutMail. Нельзя обратиться через With к двум совершенно не связанным объектам - такое возможно только в пределах "иерархии". Т.е. только если один из объектов является объектом другого.
В Вашем случае проще всего сделать так:
Код
Private Function GetToken() As String
 
Application.DisplayAlerts = False
 
    Const tokenUrl As String = "https://.../authenticate"
    Const userName As String = "Name1"
    Dim userPwd As String
    userPwd = InputBox("Укажите пароль:")
 
    Dim tokenRequest As String
    tokenRequest = "{""username"": """ & userName & """, ""password"": """ & userPwd & """}"
    
    dim sResTxt$ 'переменная для хранения ответа responseText
    With CreateObject("MSXML2.ServerXMLHTTP")
        .Open "POST", tokenUrl, False
        .setRequestHeader "Content-Type", "application/json"
        .setRequestHeader "accept", "application/json"
        .send (tokenRequest)
        sResTxt = .responseText 'запоминаем в переменную полученный ответ
    End With
'<<<<<<<<<<<<<< Формируем ответ в Outlook >>>>>>>>>>>>>>
' -----------------------------------------------------------------------------------------------------------------------
    Dim OutApp As Object
    Dim OutMail As Object
    Dim cell As Range
      
    Set OutApp = CreateObject("Outlook.Application")   'запускаем Outlook в скрытом режиме
    OutApp.Session.Logon
    On Error GoTo cleanup  'если не запустился - выходим
    Set OutMail = OutApp.CreateItem(0)   'создаем новое сообщение
    On Error Resume Next
    'заполняем поля сообщения
    With OutMail
        .To = Range("A1").value 'адрес сообщения (Кому:)
        .Subject = Range("A2").value 'тема сообщения
        .Body = sResTxt 'используем переменную sResTxt для отправки текста ответа в письме
'       Set .SendUsingAccount = .Session.Accounts.Item("Hotmail") ' отправка с другой учетной записи Outlook, если их несколько, при этом Hotmail - Hotmail - название требуемой учетной записи
        .send 'просмотр сообщения перед отправкой. Без просмотра - .Send
        GetToken = Mid(sResTxt, 11, Len(sResTxt) - 12)
    End With
  
    On Error GoTo 0
    Set OutMail = Nothing
  
cleanup:
    Set OutApp = Nothing
    Application.ScreenUpdating = True ' открыть работу макроса
 
'----------------------------------------------
    
End Function
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
RGB цвета заливки ячейки по условному форматированию
 
Цитата
montafly написал:
Если добавлять DisplayFormat (версия после вашей правки) в код
Потому что DisplayFormat работает только в Sub. В UDF он не может быть реализован и поэтому ошибка.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Отправка письма вместо MsgBox об успешном запросе HTTP (код 200)
 
БМВ, ошибка будет. Недосмотрел немного. К чему будет относится .responseText? К With OutMail? :)
Где-то в самом начале должен быть объект oHttp(или что-то вроде), от которого мы и берем responseText. Тогда код будет примерно таким:
Код
With OutMail
        .To = Range("G2").Value ' адрес (кому)
        .Subject = Range("H2").Value 'Тема письма 
       .Body = oHttp.responseText 'текст сообщения . 
        ' .Attachments.Add Range("I2").Value ' путь к файлу   и  это ненужно
        'команду Send можно заменить на Display, чтобы посмотреть сообщение перед отправкой  
        .Send
    End With

stevie44, Вы бы прикладывали коды, с которыми не получается сладить, чтобы за Вас тут никто ничего не додумывал. Откуда мы знаем у какого объекты Вы там статусы опрашиваете...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Помогите подобрать онлайн-тест на уровень знаний Excel
 
Цитата
написал:
вменяемые онлайн-тесты, позволяющие дать реальное представление о компетентности кандидата
нет таких и не будет никогда. В Excel куча инструментов, а уж задач, которые в нем решают - и того больше. Невозможно создать тест, способный на проверку именно тех знаний кандидата, которые нужны конкретной компании, если не обсудить требования к кандидату с этой компанией.
Тут правильно выше уже сказали - дайте кандидату решить пару-тройку реальных рабочих задач на время и сразу будет видно на что он способен, а на что нет.
Цитата
написал:
А у меня наниматься в добровольцы и собеседовать людей или самому что-то придумавать нет ни желания,
тогда смысла встревать вообще нет, иначе в любом случае окажетесь крайним :)
Изменено: Дмитрий(The_Prist) Щербаков - 06.12.2021 08:52:02
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Узнать статус AccessMode у файла Эксель методами vba
 
activeworkbook.MultiUserEditing
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Кубзначение() возвращает пуструю строку. Как это исправить?
 
попробуйте так:
Код
=Ч(КУБЗНАЧЕНИЕ("hq-olap GC_Total_Cube_Test Кубы";"[Measures].[Сумма с НДС]";[@['[Measures'].'[d']]];[@['[Measures'].'[B']]]))
P.S. СУММ игнорирует текст только в случае указания ссылки на ячейки. Если передать напрямую текст - будет ошибка.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Заполнение словаря только ключами. Какой вариант лучше?
 
Цитата
написал:
будет меньше занимать памяти?
Конечно будет. Byte - 1 байт памяти занимает, Boolean - 2, Long - 4. Но скорость не факт, что вырастет. На вскидку сейчас не скажу какой из типов будет инициализироваться быстрее, но Byte в данном случае должен быть самым быстрым по сути.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Заполнение словаря только ключами. Какой вариант лучше?
 
Цитата
написал:
Во 2 варианте значения текст "0".
какой текст? Там будет число 0 типа Long. И если ничего не путаю - такой вариант заполнения наиболее быстрый. Но со своими косяками, как написано выше. Правда, в данном случае конкретно тем, что при данном заполнении идет замена Item, можно смело пренебречь, т.к. Item Вы использовать не планируете.
Изменено: Дмитрий(The_Prist) Щербаков - 03.12.2021 09:09:33
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Получение значений с отчетной таблицы при нескольких условиях в строках и столбцах
 
Цитата
написал:
т.е. экскаватор 2 в 1 смену отгрузил 1441,57,
т.е. читайте Выше. Это Вам все очевидно, а тем, кто впервые увидел файл - нет. Надо пояснять не этот экскаватор и т.п. - а в ячейках таких-то номера экскаваторов, там даты и т.д. И их надо найти там-то и там-то.
А Вашем файле есть борт и название экскаватора, данные не везде соответствуют. Поэтому додумывать приходится, что не очень хорошо.
Но самая большая проблема - объединенные ячейки везде, где только можно было их воткнуть. Формулы с такими ячейками не любят работать, т.к. по сути значение только в одной ячейке, а остальные пустые.
Изменено: Дмитрий(The_Prist) Щербаков - 02.12.2021 10:41:26
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Получение значений с отчетной таблицы при нескольких условиях в строках и столбцах
 
ВПР по двум и более критериям, нет, это не подойдет в данном случае, т.к. поиск должен быть и по строкам и по столбцам.
Точную формулу не подскажу, потому что совершенно не понял из файла почему должна получиться сумма 1441,57.
Все же разобрался.
Теоретически, можно применить что-то вроде:
Код
=СУММПРОИЗВ((O$8='ASUP038 Отчет о посменной работ'!$D$7:$E$7)*(ФАКТ!$M9='ASUP038 Отчет о посменной работ'!$B$8:$B$633)*(ФАКТ!O$7='ASUP038 Отчет о посменной работ'!$C$8:$C$633)*('ASUP038 Отчет о посменной работ'!$D$8:$E$633))
Но все усложняется тем, что в некоторых ячейках вместо сумм у Вас текст(строка нулевой длины).
Во втором листе данные по эскаваторам в объединенных ячейках - это большая проблема, которая делает поиск нужных сумм практически невозможным.
Плюс в одном листе 1 смена с пробелом, во втором без. Номера эскаваторов в разных форматах(где-то с 0 впереди, где-то без), да еще и куча лишних пробелов.
Вообще в примере ориентироваться сложно - никаких пояснений с кучей плохо организованных данных. Т.е. Вы сами не пояснили толком ничего, а пример приложили весьма объемный. Лучше сделать пример с небольшим набором данных в реальной структуре и пояснить из каких ячеек что куда должно попасть и почему.

Но формула выше должна работать, если убрать все косяки, которые я перечислил. Файл с исправленными данными на примере 02 приложил.
Изменено: Дмитрий(The_Prist) Щербаков - 02.12.2021 10:37:27
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Скрытие и отоброжение листов макросом
 
Цитата
написал:
конкретные действия или ошибки в коде макроса указать
так указали уже - надо прямо в цикле изменять видимость:
Код
For i = 0 To UBound(a): a(i) = Sheets(Val(a(i))).Visible = xlSheetVisible: Next
Вообще, для новичка в VBA запись через двоеточие не самая лучшая. Понятнее будет так:
Код
For i = 0 To UBound(a) 'начало цикла по массиву а с шагом по умолчанию 1
    a(i) = Sheets(Val(a(i))).Visible = xlSheetVisible 'действия для каждой итерации цикла
Next 'переход на следующую итерацию цикла
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как сделать автоматическое изменение фильтров в сводных таблицах?
 
Цитата
написал:
менять только в одном месте и чтоб менялось во всех таблицах
создаете срез и подключаете к нему все нужные сводные таблицы.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
PQ. Можно ли в запросе сослаться (получить данные) на определенный шаг другого запроса?
 
Ищите по тексту "Power Query meta". Здесь Максим обстоятельно все расписал: http://excel-inside.pro/ru/blog/2017/09/25/как-получить-несколько-значений-запр/
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Массовое удаление текста строго между 6 и 7 слэшем.
 
Вариант 1:
Код
=ПСТР(A1;1;ПОИСК("!";ПОДСТАВИТЬ(A1;"/";"!";6))-1)&ПСТР(A1;ПОИСК("!";ПОДСТАВИТЬ(A1;"/";"!";7));999)

Вариант 2:
Код
=ПОДСТАВИТЬ(A1;ПОДСТАВИТЬ(ПРАВСИМВ(ПСТР("/"&ПОДСТАВИТЬ(A1;"/";ПОВТОР("/";999));1;999*7);999);"/";"")&"/";"")
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как создать умную таблицу, чтобы она сама считала бонусы и процентное выполнения по календарю.
 
Цитата
Edward KLEIN написал:
хочу сделать таблицу
ну как бы...Мы не против, если Вы про это :)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Копирование только значений
 
А запись макроса со вставкой только значений никак не помогает в решении вопроса? :) Попробуйте - очень выручает.
Код
Target.EntireRow.Cells(1).Resize(, 28).Copy
Worksheets("Расчет").Range("a65000").End(xlUp).Offset(1).Pastespecial xlPastevalues
Application.CutcopyMode = false
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Железо и Eхcel, Какие параметры компа и как влияют на производительность Excel?
 
Цитата
star-md написал:
Что лучше - проц 9ка многоядерный (к примеру) или оперативка с максимальной частотой и объемом?Или и то и другое?
Разумный компромисс поможет. Оперативы 24 и проц неплохой. Можно i7 последний взять, не обязательно i9. Можно и Ryzen более-менее производительный взять. И обязательно, чтобы система была при этом 64-битная. Диск SSD, чтобы все эти процессы выполнялись в нем, хотя судя по описанию именно SSD здесь поможет едва ли, т.к. все расчеты и так в память переведены.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
GetOpenFilename. Как сослаться на элемент массива, Ссылка на объект массива.
 
Цитата
Neurosurgeon написал:
strWshName=Workbooks(x).name
а теперь посмотрите, что у Вас в переменной x. Там полный путь к файлу.
Пробуйте хотя бы так получить:
Код
x=Dir(varFilesToOpen(1),16)

хотя я лично все же подошел бы иначе к вопросу - назначал переменных значения прямо в цикле - ведь по какому-то принципу Вы все равно это будете делать. И For Each можно заменить на
Код
For i = lbound(varFilesToOpen) to ubound(varFilesToOpen)

будет сразу и счетчик и номера...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Консолидированная таблица с исключением дублирования строк
 
Если таблиц всегда только три, то можно и в лоб, без программирования:
Код
let
    Источник = Table.Combine({Таблица1, Таблица2, Таблица3}),
    #"Сгруппированные строки" = Table.Group(Источник, {"Работы"}, {{"Испол 1", each List.Sum([Исполнитель 1]), type nullable number}, {"Испол 2", each List.Sum([Исполнитель 2]), type nullable number}, {"Испол 3", each List.Sum([Исполнитель 3]), type nullable number}}),
    #"Добавлен пользовательский объект" = Table.AddColumn(#"Сгруппированные строки", "Сумма", each List.Sum({[Испол 1],[Испол 2],[Испол 3]})),
    #"Переупорядоченные столбцы" = Table.ReorderColumns(#"Добавлен пользовательский объект",{"Работы", "Сумма", "Испол 1", "Испол 2", "Испол 3"})
in
    #"Переупорядоченные столбцы"

если таблиц исполнителей может быть сколько угодно - надо понимать более точно структуру того, где и как они располагаются, чтобы их собирать.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Разделить отдельные строки в power query, Нужно разделить значения которые в ячейке идут через запятую
 
Цитата
surkenny написал:
А  Дмитрий(The_Prist) Щербаков  очень добр к Вам
выспался - настроение пока хорошее :)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Разделить отдельные строки в power query, Нужно разделить значения которые в ячейке идут через запятую
 
Добавляете пользовательский столбец и прописываете там формулу:
Код
Text.Split([Idподразд],",")
После этого нажимаете на кнопочку с разнонаправленными стрелочками в правой части заголовка созданного столбца и из списка выбираете "Развернуть в новые строки". Готово.
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"iduser", Int64.Type}, {"Idподразд", type text}}),
    #"Добавлен пользовательский объект" = Table.AddColumn(#"Измененный тип", "spl_text", each Text.Split([Idподразд],",")),
    #"Развернутый элемент spl_text" = Table.ExpandListColumn(#"Добавлен пользовательский объект", "spl_text")
in
    #"Развернутый элемент spl_text"
Изменено: Дмитрий(The_Prist) Щербаков - 23.11.2021 08:32:41
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 425 След.
Наверх