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

Страницы: 1
Трансформация таблицы с одного вида в другой с помощью Power Query
 
Добрый день.
Нужна ваша помощь в трансформации одной таблицы в другую.
Есть таблица БАЗА в которой перечислены запчасти и их наличие у продавцов.
Необходимо транспонировать только часть таблицы с дилерами и числовыми значениями наличия запчастей.
После этого добавить к каждому продавцу колонки A.B.C.D.
Заранее спасибо за помощь.
Пример прикрепляю.
Подсчет среднего по критерию из столбца и рядка
 
Добрый день))
Подскажите, как подсчитать среднее значение после проведения опроса.
Данные опроса на листе 3.
В первой таблице необходимо подсчитать среднее по тому как каждое подразделение оценило другое. (Лист 5)
А во второй таблице посчитать посчитать среднее по критериям по каждому подразделению. Критерий №1 выделен цветом, за ним критерий №2 и.т.д. (Лист 5)
Если клетка пуска не брать ее в расчет
Изменено: Evgenii Kov - 08.04.2021 14:53:49
Построчно сверить две таблицы и найти расхождения (VBA или PQ)
 
Добрый день уважаемые форумчанЕ ))
Нужна ваша помощь в сверке двух таблиц.
Есть таблица 1 (Т1) она на одном листе, есть таблица 2 (Т2) она на другом листе. Таблицы по названию колонок и их количеству одинаковые. Но в самих колонках (в их содержании) могут быть отличия. Мне надо найти эти отличия. В итоге должны остаться только строки в которых есть разницы. Количество колонок при каждой сверке может быть разным. Может быть 50, а может быть и 200. Сверять просто через = (равно) не удобно. Как это сделать макросом или как вариант через Power Query ?
Пример прикрепляю. Лист Т1 и Т2 это то что дано, на листе "пример результата" схематично описан процесс как все должно быть.
Заранее спасибо за помощь )))
Разделение одного файла на несколько
 
Добрый день. Помогите, пожалуйста, создать макрос который будет разделять данные с листа БАЗА файла (пример прикрепляю) на более мелкие с сохранением строки заголовков (строка заголовков должна быть в каждом файле). Делить он должен по указанному количеству строк. Это количество должно быть рандомным в диапазоне от 5 до 20. Все разделенные файлы должны сохраняться в указанную папку в формате .xls Книги  Excel 97-2003
Разница между временем в Power Query
 
Добрый вечер. Помогите решить проблему. В Power Query есть столбец со временем,  нужно сравнить время во второй строки с временем из первой строки, потом время из третей строки со временем из второй, четвертой с третей и так дальше. Если разница между временами больше 20 секунд пускай выводит 1, если меньше 20 секунд тогда 0. Я пытался привязаться к столбцу индекса. if [Время]-[Время]{[Индекс]-1}> time 00:00:20 then "1" else "0". Но это не дало результата. В интернете ответ найти не могу. Пример прикрепить сейчас не могу (((
Макрос для обновления таблицы Power Query
 
Добрый вечер.
Помогите, пожалуйста, создать макрос который будет обновлять таблицу которая загружена из PQ на лист Данные и имеет название "Таблица 1". При этом остальные данные (сводные таблицы и таблицы из PQ) обновляться не должны. Файл пример сейчас прикрепить не могу. Сорий ((
Макрос для копирования данных с листа на другой лист в нужном порядке.
 
Добрый день. Помогите создать макрос для  копирования данных с листа на другой лист в нужном порядке.
Краткое описание : с листа ДАННЫЕ нужно скопировать по очереди информацию на другой лист и при этом рядом ставить текст из заголовков ( выделено цветом).
Файл пример - прикрепляю.
Заранее спасибо ))
PQ изменить формат всех столбцов кроме одного.
 
Добрый вечер. Подскажите, в таблице постоянно меняется количество столбцов и все они должны быть  в числовом формате, кроме одного - Сведено. Как это прописать в коде ? А точнее в самом последнем шаге. Сведено должен быть текстовым
Код
let
    Источник = Excel.Workbook(File.Contents("C:\Users\KovalYD\Desktop\СПКО\Е01 до справки.xlsx"), null, true),
    #"Е01 до справки_Sheet" = Источник{[Item="Е01 до справки",Kind="Sheet"]}[Data],
    #"Измененный тип" = Table.TransformColumnTypes(#"Е01 до справки_Sheet",{{"Column1", type text}, {"Column2", type text}, {"Column3", type any}, {"Column4", type any}, {"Column5", type text}, {"Column6", type text}, {"Column7", type text}, {"Column8", type any}, {"Column9", type text}, {"Column10", type text}, {"Column11", type text}, {"Column12", type text}, {"Column13", type text}, {"Column14", type text}, {"Column15", type text}, {"Column16", type text}, {"Column17", type text}, {"Column18", type text}, {"Column19", type text}, {"Column20", type text}, {"Column21", type text}, {"Column22", type text}, {"Column23", type text}, {"Column24", type text}, {"Column25", type any}, {"Column26", type text}, {"Column27", type any}, {"Column28", type any}, {"Column29", type text}, {"Column30", type any}, {"Column31", type any}, {"Column32", type text}, {"Column33", type text}, {"Column34", type text}, {"Column35", type text}, {"Column36", type any}, {"Column37", type any}, {"Column38", type text}, {"Column39", type text}, {"Column40", type text}, {"Column41", type text}, {"Column42", type text}, {"Column43", type any}, {"Column44", type text}, {"Column45", type any}, {"Column46", type any}, {"Column47", type any}, {"Column48", type any}, {"Column49", type any}, {"Column50", type any}, {"Column51", type any}, {"Column52", type any}, {"Column53", type any}, {"Column54", type any}, {"Column55", type any}, {"Column56", type text}, {"Column57", type any}, {"Column58", type any}, {"Column59", type any}, {"Column60", type any}, {"Column61", type any}, {"Column62", type any}, {"Column63", type any}, {"Column64", type any}, {"Column65", type any}, {"Column66", type text}, {"Column67", type any}, {"Column68", type text}, {"Column69", type any}, {"Column70", type text}, {"Column71", type text}, {"Column72", type text}, {"Column73", type any}, {"Column74", type any}, {"Column75", type any}, {"Column76", type any}, {"Column77", type any}, {"Column78", type any}, {"Column79", type any}, {"Column80", type text}, {"Column81", type any}, {"Column82", type any}, {"Column83", type any}, {"Column84", type any}, {"Column85", type any}, {"Column86", type any}, {"Column87", type text}, {"Column88", type any}, {"Column89", type any}, {"Column90", type text}, {"Column91", type any}, {"Column92", type text}, {"Column93", type any}, {"Column94", type any}, {"Column95", type any}, {"Column96", type text}, {"Column97", type any}, {"Column98", type text}, {"Column99", type text}, {"Column100", type any}, {"Column101", type text}, {"Column102", type text}, {"Column103", type text}, {"Column104", type text}, {"Column105", type text}, {"Column106", type text}, {"Column107", type any}, {"Column108", type text}, {"Column109", type text}, {"Column110", type text}, {"Column111", type text}, {"Column112", type text}, {"Column113", type any}, {"Column114", type text}, {"Column115", type any}, {"Column116", type text}, {"Column117", type text}, {"Column118", type any}, {"Column119", type text}, {"Column120", type text}, {"Column121", type text}, {"Column122", type text}, {"Column123", type any}, {"Column124", type any}, {"Column125", type text}, {"Column126", type any}, {"Column127", type any}, {"Column128", type any}, {"Column129", type text}, {"Column130", type text}, {"Column131", type any}, {"Column132", type any}, {"Column133", type any}, {"Column134", type text}, {"Column135", type any}, {"Column136", type any}, {"Column137", type text}, {"Column138", type text}, {"Column139", type text}, {"Column140", type text}, {"Column141", type text}, {"Column142", type text}, {"Column143", type any}, {"Column144", type any}, {"Column145", type text}, {"Column146", type any}, {"Column147", type any}, {"Column148", type text}, {"Column149", type text}, {"Column150", type text}, {"Column151", type any}, {"Column152", type text}, {"Column153", type text}, {"Column154", type text}, {"Column155", type text}, {"Column156", type text}, {"Column157", type text}, {"Column158", type text}, {"Column159", type text}, {"Column160", type text}, {"Column161", type text}, {"Column162", type text}, {"Column163", type text}, {"Column164", type text}, {"Column165", type text}, {"Column166", type text}, {"Column167", type text}, {"Column168", type text}, {"Column169", type text}, {"Column170", type text}, {"Column171", type any}, {"Column172", type any}, {"Column173", type any}, {"Column174", type any}, {"Column175", type any}, {"Column176", type text}, {"Column177", type text}, {"Column178", type text}, {"Column179", type text}, {"Column180", type text}, {"Column181", type text}, {"Column182", type text}, {"Column183", type text}, {"Column184", type any}, {"Column185", type any}, {"Column186", type text}, {"Column187", type text}, {"Column188", type any}, {"Column189", type text}, {"Column190", type any}, {"Column191", type any}, {"Column192", type any}, {"Column193", type text}, {"Column194", type text}, {"Column195", type text}, {"Column196", type text}, {"Column197", type text}, {"Column198", type text}, {"Column199", type text}, {"Column200", type text}, {"Column201", type any}, {"Column202", type any}, {"Column203", type text}, {"Column204", type any}, {"Column205", type any}, {"Column206", type text}, {"Column207", type any}, {"Column208", type text}, {"Column209", type any}, {"Column210", type any}, {"Column211", type any}, {"Column212", type text}, {"Column213", type any}, {"Column214", type any}, {"Column215", type any}, {"Column216", type any}, {"Column217", type any}, {"Column218", type any}, {"Column219", type text}, {"Column220", type text}, {"Column221", type text}, {"Column222", type any}, {"Column223", type any}, {"Column224", type any}, {"Column225", type text}, {"Column226", type text}, {"Column227", type text}, {"Column228", type any}, {"Column229", type any}, {"Column230", type any}, {"Column231", type any}, {"Column232", type any}, {"Column233", type any}, {"Column234", type text}, {"Column235", type text}, {"Column236", type text}, {"Column237", type text}, {"Column238", type any}, {"Column239", type any}, {"Column240", type any}, {"Column241", type any}, {"Column242", type any}, {"Column243", type text}, {"Column244", type text}, {"Column245", type text}, {"Column246", type text}, {"Column247", type text}, {"Column248", type text}, {"Column249", type text}, {"Column250", type text}, {"Column251", type text}, {"Column252", type text}, {"Column253", type text}}),
    #"Удаленные верхние строки" = Table.Skip(#"Измененный тип",1),
    #"Транспонированная таблица" = Table.Transpose(#"Удаленные верхние строки"),
    #"Разделить столбец по разделителю1" = Table.SplitColumn(#"Транспонированная таблица", "Column1", Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.Csv, false), {"Column1.1", "Column1.2"}),
    #"Транспонированная таблица1" = Table.Transpose(#"Разделить столбец по разделителю1"),
    #"Повышенные заголовки" = Table.PromoteHeaders(#"Транспонированная таблица1", [PromoteAllScalars=true]),
    #"Удаленные верхние строки1" = Table.Skip(#"Повышенные заголовки",1),
    #"Разделить столбец по разделителю" = Table.SplitColumn(#"Удаленные верхние строки1", "Контрагент", Splitter.SplitTextByEachDelimiter({"-"}, QuoteStyle.Csv, false), {"Контрагент.1", "Контрагент.2"}),
    #"Добавлен пользовательский объект" = Table.AddColumn(#"Разделить столбец по разделителю", "Пользовательская", each Text.Remove([Контрагент.2],{"0".."9","(",")"})),
    #"Замененное значение" = Table.ReplaceValue(#"Добавлен пользовательский объект","-"," ",Replacer.ReplaceText,{"Пользовательская"}),
    #"Удаленные столбцы" = Table.RemoveColumns(#"Замененное значение",{"Контрагент.1", "Контрагент.2", "CE", "CE_1"}),
    #"Переупорядоченные столбцы" = Table.ReorderColumns(#"Удаленные столбцы",{"Пользовательская", "Характер", "801010", "801020", "801555", "802010", "802021", "802022", "802029", "802555", "803100", "803210", "803220", "803230", "803240", "803250", "803300", "803555", "804000", "804555", "805000", "805555", "806011", "806111", "806121", "806012", "806112", "806122", "806020", "806030", "806041", "806311", "806312", "806321", "806322", "806401", "806402", "806500", "806555", "807010", "807020", "807030", "807040", "807051", "807059", "807061", "807062", "807063", "807069", "807070", "807080", "807090", "807100", "807110", "807121", "807122", "807123", "807124", "807129", "807130", "807140", "807150", "807161", "807162", "807169", "807170", "807990", "807555", "808050", "808060", "810101", "810102", "810311", "810321", "810331", "810341", "810350", "810555", "820101", "820102", "820311", "820321", "820331", "820350", "820555", "830100", "830200", "830300", "830400", "830555", "841100", "841200", "841300", "841555", "842100", "842200", "842300", "842500", "842510", "842520", "842700", "842800", "842990", "842555", "845010", "845021", "845022", "845023", "845024", "845025", "845026", "845027", "845028", "845029", "845031", "845032", "845033", "845034", "845035", "845036", "845039", "845040", "845051", "845052", "845059", "845060", "845061", "845070", "845071", "845081", "845082", "845091", "845101", "845102", "845103", "845104", "845105", "845106", "845107", "845109", "845111", "845112", "845121", "845122", "845123", "845129", "845131", "845132", "845133", "845134", "845139", "845141", "845149", "845151", "845152", "845153", "845154", "845155", "845156", "845157", "845158", "845159", "845161", "845162", "845163", "845164", "845165", "845166", "845169", "845170", "845181", "845182", "845189", "845190", "845201", "845202", "845203", "845204", "845301", "845555", "845991", "845992", "845993", "845994", "845995", "845996", "845997", "845998", "845999", "846030", "846040", "846050", "846060", "846090", "846555", "847121", "847200", "847555", "CE_2", "844000", "844555", "843100", "843200", "843555", "843900", "830555_3", "830555_4", "830555_5", "830555_6", "DIS3_NA", "DIS3_NA_7", "DIS3_NA_8", "DIS3_NA_9", "DIS3_NA_10", "DIS3_NA_11", "DIS3_NA_12", "DIS3_NA_13", "DIS3_NA_14", "DIS3_NA_15", "DIS3_NA_16", "DIS3_NA_17", "DIS3_NA_18", "DIS3_NA_19", "DIS3_NA_20", "DIS3_NA_21", "CE_22", "DIS3_NA_23", "DIS3_NA_24", "830555_25", "848000", "848110", "848120", "848131", "848132", "848133", "848139", "848150", "848160", "848170", "848180", "848201", "848209", "848301", "848302", "848309", "848400", "848501", "848502", "848509", "848555", "848600"}),
    #"Объединенные столбцы" = Table.CombineColumns(#"Переупорядоченные столбцы",{"Пользовательская", "Характер"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"Сведено"),
    #"Измененный тип1" = Table.TransformColumnTypes(#"Объединенные столбцы",List.Transform(Table.ColumnNames(#"Объединенные столбцы"), each {_, type number}))
in
    #"Измененный тип1"
Макрос на выборку данных из таблицы для создания новой таблицы в необходимом формате
 
Добрый день. Помогите решить задачу. Нужен макрос который будет на листе с данными проверять наличие сумм в указанном диапазоне и если сумма есть переносить ее на другой лист с указанием названия строки из колонки "А" и указанием названия столбца из строки "1"
Файл пример с образцом данных и примером нужного решения прикрепляю.
Заранее спасибо за помощь )))
Макрос на выборку данных из таблицы с дальнейшей подстановкой в столбцы
 
Добрый день. Помогите, пожалуйста, сделать макрос на подбор данных.
Необходимо в таблицу на листе 2, по критерию (например ячейка А2) подобрать номера документов из столбца "С" с листа 1 (количество номеров документов - разное).
Данные на листе 2 должны расположится в столбцах под критериями из строки №2 (циклом подбираться под каждый критерий в строке 2 ) . Таблицу на листе 2 специально уменьшил до 8 столбцов. В оригинале их больше.
Макрос на выборку данных из таблицы с дальнейшей подстановкой в строку рядом с критерием
 
Добрый день.
Помогите, пожалуйста, создать макрос. Задача следующая - есть таблица "А" со списком контрагентов и таблица "Б" со списком контрагентов и договоров с ними. Необходимо из таблицы "Б", согласно критерию из "А" выбрать все договора и подставить их в строку рядом с критерием. Пример прикрепляю
Заранее спасибо за помощь.  
Цикл. Переменная - строка с разными столбцами в одном цикле.
 
Добрый вечер. Может кто сможет помочь. Мне нужно что б в цикле менялись только строки. i+1, но как указать (или правильно построить)  цикл где переменная "i" может быть в паре с разными столбцами ???
Код
[/CODE][CODE]Dim i, 'n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11
i = 3
'n1 = Cells(1, 10) 'месяц проведения
'n2 = Cells(i, 2) 'Дата перерахування коштів
'n3 = Cells(1, 9)
'n4 = Cells(1, 7)
'n5 = Cells(i, 3) 'Дебет
'n6 = Cells(i, 10) 'Сума перерахування
'n7 = Cells(1, 8 )
'n8 = Cells(i, 5) 'БС
'n9 = Cells(i, 4) 'договір з контрагентом
'n10 = Cells(i, 7) 'Контрагент
'n11 = Cells(i, 11) 'копировать из САПа номер документа в ячейку

i = 3
On Error GoTo myerr

'ТУТ БУДЕТ КОД, СГЕНЕРИРОВАННЫЙ В САП 

Do While i <> ""

session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "FB01"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtBKPF-BLDAT").Text = Cells(i, 2) 'Дата перерахування коштів
session.findById("wnd[0]/usr/ctxtBKPF-BLART").Text = "KD"
session.findById("wnd[0]/usr/ctxtBKPF-BUKRS").Text = "1400"
session.findById("wnd[0]/usr/ctxtBKPF-BUDAT").Text = Cells(i, 2) 'Дата перерахування коштів
session.findById("wnd[0]/usr/txtBKPF-MONAT").Text = Cells(1, 10) 'месяц проведения
session.findById("wnd[0]/usr/txtBKPF-BKTXT").Text = "2020-000283678"
session.findById("wnd[0]/usr/ctxtRF05A-NEWBS").Text = Cells(i, 11)
session.findById("wnd[0]/usr/ctxtRF05A-NEWKO").Text = Cells(i, 7)
session.findById("wnd[0]/usr/ctxtRF05A-NEWKO").SetFocus
session.findById("wnd[0]/usr/ctxtRF05A-NEWKO").caretPosition = 10
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtBSEG-HKONT").Text = "3779010000"
session.findById("wnd[0]/usr/txtBSEG-WRBTR").Text = Cells(i, 10) 'Сума перерахування
session.findById("wnd[0]/usr/ctxtBSEG-GSBER").Text = "D400"
session.findById("wnd[0]/usr/txtBSEG-ZUONR").Text = "4200075"
session.findById("wnd[0]/usr/ctxtBSEG-SGTXT").Text = "2020-000283678"
session.findById("wnd[0]/usr/ctxtRF05A-NEWBS").Text = "11"
session.findById("wnd[0]/usr/ctxtRF05A-NEWKO").Text = ""
session.findById("wnd[0]/usr/ctxtRF05A-NEWKO").SetFocus
session.findById("wnd[0]/usr/ctxtRF05A-NEWKO").caretPosition = 10
session.findById("wnd[0]").sendVKey 0
i = i + 1
Loop
Изменено: Evgenii Kov - 05.11.2020 09:04:00
Вставка копированных строк в диапазон между определенных строк
 
Добрый день. Помогите пожалуйста. У меня есть макрос который считает количество строк на листе, копирует их и должен вставить в шаблон в 16 строку. Не могу найти макрос на вставку данных именно между строк. Между строк потому что в шаблоне есть данные которые должны остаться (не затираться) и по итогу быть ниже тех строк которые скопированы и вставлены. То что получилось у меня вставляет и затирает все данные которые ниже 16 строки. Желательно что б не просто вставляло данные, а еще делало все границы.
Код
Sub save()
Dim a1 As Range, a2 As Range
Dim i

i = 2
Do While Cells(i, 1) <> ""
i = i + 1
Loop
kol_vo_strok = i - 2
Range(Cells(2, 1), Cells(kol_vo_strok + 2, 11)).Select
Set a1 = Range(Cells(2, 1), Cells(kol_vo_strok + 2, 11))
Set a2 = Range(Cells(2, 10), Cells(kol_vo_strok + 2, 10))

Workbooks.Open Filename:="C:\Users\KovY\Desktop\Новая папка\Шаблон.xlsx"
Sheets("Шаблон").Select
Range(Cells(16, 1), Cells(kol_vo_strok + 15, 9)) = a1.Value
Range(Cells(16, 11), Cells(kol_vo_strok + 15, 11)) = a2.Value
Выделить и скопировать текст с помощью VBA, Выделить и скопировать текст с помощью VBA
 
Добрый день. Помогите, пожалуйста, создать код для чтения и копирования на лист Excel фрагмента текста из окна программы. Нужно скопировать "100000021" и вставить в файл "БАЗА" на лист "ДАННЫЕ" в ячейку "К3". Код который я смог придумать для выделения текста не работает (выделен цветом). Из выделенного цветом кода работают только открыть и закрыть окно в программе (первая и последняя строка выделенная цветом. )  А как вставить на лист пока идей вообще нет. Только начинаю изучать VBA
Заранее спасибо.
Изменено: Evgenii Kov - 29.10.2020 11:55:03
Макрос для циклического перебора данных по строкам в скрипте
 
Добрый день. Нужна помощь в создании макроса, а точнее цикла. Я в этом деле новенький и пока есть проблемы и пробелы в знания. Есть скрипт для  работы в SAP. Его необходимо вставить в макрос и что б макрос по очереди брал данные из строк с листа EXCEL. Я это вижу так. В скрипте есть переменные типа n1.n2.n3.n4..... Все они находятся в первой строке таблицы. Макрос берет скрипт с переменными в первой строке, выполняет все действия из скрипта и переходит к второй строке (переменные стоят в тех же столбцах но на одну строку ниже) берет их, опять вставляет в скрипт и выполняет его. И так весь цикл пока данные не кончатся. Количество строк может меняться. От 200 и до 1000. За любую помощь буду очень благодарен.
И может кто порекомендует хорошие (желательно бесплатные) курсы по VBA ))
Страницы: 1
Наверх