Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 356 След.
Удаление строки по двум условиям
 
Цитата
Mershik написал:
As Integer
ох, как это не практично...А если строк вдруг будет больше 32767? Такие переменные лучше объявлять As Long изначально.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Ранжирование списка значений с перемещением значения 0 в конец ранга
 
Цитата
colonel написал:
далее нулевые в произвольном порядке
а это как?
Цитата
colonel написал:
Решение макросом не подходит. Файл очень огромный и будет в конце сохранен в формате .xlsb для уменьшения "веса".
и в чем проблема? xlsb прекрасно хранит макросы
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Обобщение нескольких книг
 
Цитата
Kulibinslovoru написал: Power Query мне так "сказал"
PQ все пустые ячейки обозначает как null...

Цитата
были внесены через userform
если из TextBox и прочих - то из них не пусто переносится, если вдруг они не заполнены, а строка нулевой длины. Ячейка выглядит пустой, но по факту таковой не является, т.к. содержит текст нулевой длины.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Power Query подстановка данных из другой таблицы
 
Так это вроде на языке "клац мышью" заполнение вверх...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Power Query подстановка данных из другой таблицы
 
Не уверен, что все прям правильно понял - но суть можно будет уловить. Сделал все в новом запросе, но и в имеющихся внес изменения(типы привел к одному, чтобы слияние прошло успешно)
Возможно, Вам хватит результата уже на этом шаге:
Код
#"Добавлен пользовательский объект" = Table.AddColumn(#"Измененный тип", "мин_равно", each if [DATE] <=[Дата_к] then [Дата_к] else #date(1900,1,1)),
Тогда и этот шаг можно будет записать иначе:
Код
= Table.AddColumn(#"Измененный тип", "мин_равно", each if [DATE] <=[Дата_к] then [Значение_к] else 1000)
и останется просто удалить дубли в разрезе Сотрудник-Статус.
P.S. Посмотрел, надо было мин.отбирать, а не макс.
Код
#"Добавлен пользовательский объект" = Table.AddColumn(#"Измененный тип", "мин_равно", each if [DATE] <=[Дата_к] then [Дата_к] else #date(2100,1,1)),
Изменил вложение, т.к. далее запрос тоже чуть поменялся в части замены ошибок.
Изменено: Дмитрий(The_Prist) Щербаков - 15 Фев 2020 19:37:45
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Обобщение нескольких книг
 
Цитата
Kulibinslovoru написал:
почему пустые ячейки воспринимаются как заполненные
много факторов. Включая тот, что непонятно откуда Вы решили, что они не пустые. И как определили, что там именно null?
Возможно, все проще: Пустая ячейка определяется Excel-ем как не пустая. Что за глюк?
Но опять же - не видя файл сидеть и гадать дело неблагодарное. Особенно учитывая Ваш опыт(без обид). Все может быть элементарно, а мы тут гипотезы будем всякие выдвигать...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Склейка текста по условию
 
Почти такой же вариант на PQ с полумышкоклацаньем:
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    index_col = Table.AddIndexColumn(Источник, "Индекс", 1, 1),
    add_funcs = Table.FillDown(Table.AddColumn(index_col, "раб", each if [Столбец1]="раб" then [Индекс] else null),{"раб"}),
    groupe_list = Table.Group(add_funcs, {"раб"}, {{"res", each _[Столбец2], type list}}),
    #"Добавлен пользовательский объект" = Table.AddColumn(groupe_list, "Результат", each Text.Combine([res],",")),
    #"Удаленные столбцы" = Table.RemoveColumns(#"Добавлен пользовательский объект",{"res"})
in
    #"Удаленные столбцы"
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Power Query открытие файла по ссылке
 
Цитата
mitox написал:
А какая следующая запись?
так дальше у Вас все есть. Я просто первым шагом вместо Вашего
Код
Путь = Параметры{[Параметр = "Данные Y"]}[Значение],
указал другую строку. А использование этого Путь у Вас записано правильно.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Обобщение нескольких книг
 
Цитата
Kulibinslovoru написал:
Куда копать то?
а фиг знает. Без файла-примера с этими данными и конкретным описание чего именно Вам надо взять из такой книги советовать вообще нечего.
Цитата
Kulibinslovoru написал:
Рабочие области, как уже говорил, ограничены диапазоном печати
если опираться на это - то есть возможность получить адрес области печати, если она была задана(выше я об этом упоминал). В том числе макросом:
Код
activesheet.PageSetup.PrintArea.address
если же область печати не была задана или заранее неизвестно, задана она правильно или нет, то придется определять диапазон на основании конкретных условий, которые четко смогут дать понять что надо считать диапазоном для отбора.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Power Query открытие файла по ссылке
 
Как-то непонятно у Вас все организовано...Почему сразу не дергать из таблицы, обращаясь к CurrentWorkbook?
Вам же PQ сама пишет причину ошибки:
Цитата
Formula.Firewall: Запрос "Данные Y" (шаг "Источник") ссылается на другие запросы или этапы и поэтому не может напрямую обращаться к источнику данных. Измените эту комбинацию данных.
Записывайте без промежуточного запроса:
Код
Путь = Excel.CurrentWorkbook(){[Name="Параметры"]}[Content]{[Параметр = "Данные Y"]}[Значение],
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Экспорт из Word, не открывая файл
 
Цитата
Amberalex написал:
это не стало работать
да, это я ступил. Забыл, что при таком подходе Word в Excel вставиться картинкой. Но копировать диапазон можно так, как показал - без отсчета символов.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Обобщение нескольких книг
 
Отсюда вижу - код мой. И он работал изначально. И все что надо собирал. Но вот кто-то там только изменения разные вносил - это факт. Первое, что бросилось в глаза:
Код
Set wsDataSheet = ActiveWorkbook.Sheets(sSheetName).Select
Это уже бред по двум причинам:
1. Либо Set, либо Select. Т.е. правильно как минимум так:
Код
Set wsDataSheet = ActiveWorkbook.Sheets(sSheetName)
2. sSheetName = а такой лист точно есть в книге?

В общем попробуйте для начала убрать строку On Error Resume Next и посмотрите где будет ругаться макрос.

P.S. Чую я, что с такими познаниями в VBA сложно Вам будет это под ОО перестраивать :)
Изменено: Дмитрий(The_Prist) Щербаков - 14 Фев 2020 17:29:40
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Сбор данных с конкретных листов из файлов в Power Qwery, но не везде есть эти листы
 
Цитата
Oksana40 написал:
нет доступа к базе данных
После того как положили файл в папку откройте его руками - возможно он открывается в режиме защищенного просмотра. Тогда надо его открыть, разрешить редактирование и после этого запросы заработают.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Из плоской в кросс таблицу(PQ), Expression.Error: Элементов в перечислении было слишком много для выполнения операции. Сведения: List
 
Кстати, для этого конкретного случая можно совместить мышкоклацанье с небольшим вмешательством в код ручками. Т.к. в текущем варианте есть существенный недостаток: если макс.кол-во фамилий где-то будет больше 5 - они уже не попадут в итоговую таблицу, т.к. они жестко заданы здесь:
Код
Table.SplitColumn(#"Удаленные столбцы", "all_fil", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), {"all_fil.1", "all_fil.2", "all_fil.3", "all_fil.4", "all_fil.5"}),
Поэтому такие вещи в любом случае надо как-то обходить(оптимально - как показал PooHkrd, но для начинающих не всегда удобно это читать, ибо не всегда понятно что там вообще накидали :)). Поэтому вариант попроще для понимания и разбора по шагам:
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"ФИО", type text}, {"Параметр", type text}}),
    #"Сгруппированные строки" = Table.Group(#"Измененный тип", {"Параметр"}, {{"rows", each _, type table [ФИО=text, Параметр=text]}}),
    #"Добавлен пользовательский объект" = Table.AddColumn(#"Сгруппированные строки", "all_fil", each Text.Combine([rows][ФИО],";")),
    addmax_col = Table.AddColumn(#"Добавлен пользовательский объект", "max_cols", each Text.Length([all_fil])-Text.Length(Text.Remove([all_fil],";"))),
    max_col_cnt = List.Max(addmax_col[max_cols])+1,
    new_cols = List.Transform({1..max_col_cnt}, each Number.ToText(_)),
    #"Удаленные столбцы" = Table.RemoveColumns(addmax_col,{"rows","max_cols"}),
    #"Разделить столбец по разделителю" = Table.SplitColumn(#"Удаленные столбцы", "all_fil", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv),new_cols),
    #"Транспонированная таблица" = Table.Transpose(#"Разделить столбец по разделителю"),
    #"Повышенные заголовки" = Table.PromoteHeaders(#"Транспонированная таблица", [PromoteAllScalars=true])
in
    #"Повышенные заголовки"
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Из плоской в кросс таблицу(PQ), Expression.Error: Элементов в перечислении было слишком много для выполнения операции. Сведения: List
 
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"ФИО", type text}, {"Параметр", type text}}),
    #"Сгруппированные строки" = Table.Group(#"Измененный тип", {"Параметр"}, {{"rows", each _, type table [ФИО=text, Параметр=text]}}),
    #"Добавлен пользовательский объект" = Table.AddColumn(#"Сгруппированные строки", "all_fil", each Text.Combine([rows][ФИО],";")),
    #"Удаленные столбцы" = Table.RemoveColumns(#"Добавлен пользовательский объект",{"rows"}),
    #"Разделить столбец по разделителю" = Table.SplitColumn(#"Удаленные столбцы", "all_fil", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), {"all_fil.1", "all_fil.2", "all_fil.3", "all_fil.4", "all_fil.5"}),
    #"Измененный тип1" = Table.TransformColumnTypes(#"Разделить столбец по разделителю",{{"all_fil.1", type text}, {"all_fil.2", type text}, {"all_fil.3", type text}, {"all_fil.4", type text}, {"all_fil.5", type text}}),
    #"Транспонированная таблица" = Table.Transpose(#"Измененный тип1"),
    #"Повышенные заголовки" = Table.PromoteHeaders(#"Транспонированная таблица", [PromoteAllScalars=true]),
    #"Измененный тип2" = Table.TransformColumnTypes(#"Повышенные заголовки",{{"Коммерческий директор", type text}, {"Экономисты", type text}, {"Руководитель группы торгового маркетинга", type text}, {"Трейд маркетолог", type text}, {"Дивизиональный менеджер", type text}, {"Pегиональный менеджер", type text}, {"РКАМ или ТМ или Сити", type text}, {"Директор по продажам", type text}})
in
    #"Измененный тип2"
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как указать в условии что диапазон имеет одно и тоже значение.
 
Цитата
redmars00 написал:
не знаком еще со всей терминологией Эксель
тогда подсказка: чтобы описать задачу не надо вообще применять ту терминологую, которая Вам не знакома. Вдруг и мы её не знаем? Вы же знаете для себя как описать задачу? Вот и описывайте своими словами - теми, которые знаете. Не нужна никакая специальная терминология, она только затруднит понимание Вас нами.
Цитата
redmars00 написал:
Не уверен что так понятнее
понятнее. И тогда у Вас вполне правильное решение было изначально, на мой взгляд. Что в нем не устроило? Просто, надежно и логично. Только я бы дату вывел текстом(раз для слияния надо):
Код
=TEXT(IF(MIN(C2:C13)=MAX(C2:C13);""; MIN(C2:C13));"ДД.ММ.ГГГГ")
и
Код
=TEXT(MAX(D2:D13);"ДД.ММ.ГГГГ")
или все в одной ячейке:
Код
=TEXT(IF(MIN(C2:C13)=MAX(C2:C13);"";MIN(C2:C13));"ДД.ММ.ГГГГ - ")&TEXT(MAX(D2:D13);"ДД.ММ.ГГГГ")
Изменено: Дмитрий(The_Prist) Щербаков - 14 Фев 2020 15:06:59
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Перенос не повторяющихся значений.
 
Цитата
Argo9 написал:
синтаксис проверки нахождения записи массива на наличие в другом массиве
Вы до сих пор не умеете делать циклы?
Код
arr1 = диапазон1.Value
arr2 = диапазон2.Value
for lr = 1 to ubound(arr1,1)
  x = arr1(lr,1)'это будем искать в другом массиве
  ff = false'флаг, если найдем значение
    for lrr = 1 to ubound(arr2,1)
       if x = arr2(lrr,1) then
         'нашли!
         ff = true
         exit for
       end if
    next
    if ff then
      debug.print "значение '" & x & "' найдено во втором массиве"
    end if
next
а еще проще и быстрее это делать через словари, но че-то лень уже писать. На сайте таких примеров куча. Можно поискать по словам scripting.dictionary
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
DAX. Накопительный итог, дописать формулу
 
Цитата
OblivionR написал:
считаются без контекста фильтра сводной таблицы
как бы...Логично, ибо ALL
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как указать в условии что диапазон имеет одно и тоже значение.
 
Цитата
redmars00 написал:
новенький на сайте, поэтому возможно буду не очень правильно и ясно излагать свои мысли
а какая связь между неясностью мысли и кратким пребыванием на сайте? :)
Цитата
redmars00 написал:
Мое решение: сравнить максимальные и минимальные значения
а СЧЁТЕСЛИ не рассматривали?
Код
=ЕСЛИ(--СЧЁТЕСЛИ(C2:C13;D2:D13)=СЧЁТ(C2:C13);"все даты одинаковые";"есть разные")
ввод в ячейку как формулу массива: сочетанием клавиш Ctrl+Shift+Enter.
Но суть задачи лично мне до сих пор не ясна. Нельзя как-то пояснить словами? Например: вот тут все даты одинаковые - это правильно. В другом столбце различаются - так нельзя.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Дописать в ячейку текст через VBA, Дописать в ячейку текст через VBA независимо от того что вводится туда вручную.
 
Цитата
ar2b написал:
Если можно - пошагово
а что уже сами пробовали и что не получилось? Ибо пошагово рассказывать...Откуда начать? У Вас опыт-то какой?
Да и неясно к любой ячейке надо применять или в конкретном диапазоне, листе и т.д. Если кратко: есть у листов событийные процедуры, в том числе Change. Но тут момент: а что если в ячейку записали значение: "125 штук". Что делать тогда? Надо ли сюда дописывать "шт"? А если записано "отгрузили в четверг" - надо ли в этом случае дописывать?
Если все это продумаете - решение будет. И вполне возможно, что даже без VBA, ибо есть еще формат ячеек. Такой, например: 0" шт". И суммироваться будет и отображаться с "шт"...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Поиск формул ячейки, в которых встречаются константы
 
Цитата
Максим Зеленский написал:
всякие числовые аргументы функций типа ВПР(value;range;2;0)
вот здесь проблема, ибо что номер столбца, что искомое значение могут быть константами и 100% определить тут нельзя будет правильно ли отбрасывать аргумент или нет. Как вариант можно наиболее часто встречающиеся функции отсекать, но это уже слишком серьезной углубление, т.к. даже в ВПР можно любой аргумент выразить константой: ВПР(5;{1:2:3:4:5};2;0)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
как пропустить файл с расширением .xlsm, если в коде указано, что работаем с расширением: avFiles = Dir(sPath & "*.xls")??
 
Напрашивается очевидный вывод - расширение файла не .xls, т.к. проверка НЕ ПРОХОДИТ. Хотя...Тупанул.
Переместите End If выше - перед Dir = avFiles
Код
Do While avFiles <> ""
'а тут добавляем проверку, что файл с нужным расширением
If Right(LCase(avFiles), 4) = ".xls" Then
        If sActWB <> avFiles Then
            Workbooks.Open sPath & avFiles, False
        End If
        bCnt = False
        With Sheets(sShName1)
            avArr = .UsedRange.Value
            'Итоги по суммам
            lc = Find_Col(avArr, sFndStr)
            lr = .Cells(.Rows.Count, lc - 1).End(xlUp).Row + 1
            For li = 5 To 1 Step -1
              
                If li = 1 And avArr(lr, lc - alStep(li - 1)) = 0 Then
               
                    bCnt = True
                Else
                    adblSums(li) = adblSums(li) + avArr(lr, lc - alStep(li - 1))
                End If
            Next li
            'Итоги по Кол-во мест:
            lc = Find_Col(avArr, sFndCntStr) + 1
            lr = .Cells(.Rows.Count, lc - 1).End(xlUp).Row
            If bCnt Then
                adblSums(1) = adblSums(1) + avArr(lr, lc) + avArr(lr, lc + 1)
            Else
                dblCntSum = dblCntSum + avArr(lr, lc) + avArr(lr, lc + 1)
            End If
        End With
        If sActWB <> avFiles Then ActiveWorkbook.Close 0
       End If'If Right(LCase(avFiles), 4) = ".xls"
       avFiles = Dir
 Loop
иначе мы просто бесконечно просматриваем один и тот же файл - первый.
Изменено: Дмитрий(The_Prist) Щербаков - 14 Фев 2020 14:07:36
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Обобщение нескольких книг
 
Цитата
Kulibinslovoru написал:
коротенький макрос я думаю будет не сложно портировать под ОО или либро
ох, не надеялся бы я на это...
Цитата
Kulibinslovoru написал:
Рабочая таблицы ограничена диапазоном печати
PQ умеет отбирать и именованные диапазоны. И в этом случае это _xlmn.Print_Area. Можно задать собирать данные только из ячеек, заданных областью печати. Естественно, область печати должна быть реально задана(вкладка Разметка страницы -Область печати -Задать)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Поиск формул ячейки, в которых встречаются константы
 
Цитата
abc1 написал:
через функцию Ф.ТЕКСТ
предположу, что Максим заранее не знает что за цифры и числа там будут.
Вот, накидал на скорую руку:
Код
Sub GetConstants()
    Dim asp, x, aseps
    Dim txt$, s$
    
    txt = ActiveCell.Formula
    aseps = Array("/", "*", "-", "+")
    s = txt
    For Each x In aseps
        s = Replace(s, x, ":")
    Next
    asp = Split(s, ":")
    For Each x In asp
        s = Replace(Replace(x, ".", ","), " ", "")
        If IsNumeric(s) Then
            Debug.Print x
        End If
    Next
End Sub

естественно, надо тестировать на разных вариантах и подправлять.
Изменено: Дмитрий(The_Prist) Щербаков - 14 Фев 2020 13:59:17
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Поиск формул ячейки, в которых встречаются константы
 
эх, Максим. Нелегкая это задача. Я в свое время отбирал при помощи регулярок, т.к. там куча нюансов. Правда, я отбирал наоборот - адреса ячеек, именованных диапазонов и т.п.
Но если суть только в том, чтобы определить такие ячейки - то я бы, наверное, сделал так:
разбил бы сначала по всем возможным операндам: */-+^. Внутри этих блоков постараться отобрать регулярками текст, сразу после которого идут скобки(гипотетически, это функция). После этого проверять на IsNumeric. Если это число - определится. Но остается вопрос: а надо ли определять текстовые константы? :)

Вообще, реально сделать. Более чем. Но время потратить придется.
Изменено: Дмитрий(The_Prist) Щербаков - 14 Фев 2020 13:53:22
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
как пропустить файл с расширением .xlsm, если в коде указано, что работаем с расширением: avFiles = Dir(sPath & "*.xls")??
 
Цитата
Советник I категории написал:
Do While Right(LCase(avFiles), 4) = ".xls" ' зе пирст дал
я НЕ ЭТО дал. Вы бы хоть переписывали правильно. Я написал это:
Цитата
Дмитрий(The_Prist) Щербаков написал:
после этой строки
Do While avFiles <> ""

добавить условие

If right(lcase(avFiles),4) = ".xls" then
'обработка файла
end if
Разницу улавливаете между заменить и записать после? Т.е. цикл так и должен был остаться:
Код
Do While avFiles <> ""
'а тут добавляем проверку, что файл с нужным расширением
If Right(LCase(avFiles), 4) = ".xls" Then
        If sActWB <> avFiles Then
            Workbooks.Open sPath & avFiles, False
        End If
        bCnt = False
        With Sheets(sShName1)
            avArr = .UsedRange.Value
            'Итоги по суммам
            lc = Find_Col(avArr, sFndStr)
            lr = .Cells(.Rows.Count, lc - 1).End(xlUp).Row + 1
            For li = 5 To 1 Step -1
             
                If li = 1 And avArr(lr, lc - alStep(li - 1)) = 0 Then
              
                    bCnt = True
                Else
                    adblSums(li) = adblSums(li) + avArr(lr, lc - alStep(li - 1))
                End If
            Next li
            'Итоги по Кол-во мест:
            lc = Find_Col(avArr, sFndCntStr) + 1
            lr = .Cells(.Rows.Count, lc - 1).End(xlUp).Row
            If bCnt Then
                adblSums(1) = adblSums(1) + avArr(lr, lc) + avArr(lr, lc + 1)
            Else
                dblCntSum = dblCntSum + avArr(lr, lc) + avArr(lr, lc + 1)
            End If
        End With
        If sActWB <> avFiles Then ActiveWorkbook.Close 0
        avFiles = Dir
    End If'If Right(LCase(avFiles), 4) = ".xls"


 Loop
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Экспорт из Word, не открывая файл
 
Цитата
Amberalex написал:
If .Show = -1 Then
       For Each vrtSelectedItem In .SelectedItems
           path = vrtSelectedItem
       Next vrtSelectedItem
  Else
       Exit Function
  End If
или я чего-то сильно не понимаю, или цикл здесь очень лишний. Вы же вызываете диалог выбора ПАПКИ. А более двух выбрать все равно нельзя. Следовательно достаточно этого:
Код
If .Show = -1 Then
        path = .SelectedItems(1)
Else
        Exit Function
End If
Цитата
Amberalex написал:
With oWordApl.ActiveDocument
       Set RngCopy = .Range(0, .Characters.Count)
       RngCopy.Select
       oWordApl.Selection.Copy
   End With

   With Worksheets("Temp")
       .Select
       .Range("A1").Select
       .Paste
   End With
вот это можно записать еще так:
Код
oWordApl.ActiveDocument.Range().Copy
Worksheets("Temp").Range("A1").PasteSpecial xlPasteAll
Изменено: Дмитрий(The_Prist) Щербаков - 14 Фев 2020 13:31:17
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Обобщение нескольких книг
 
Цитата
Kulibinslovoru написал:
игнорировать данные из столбца (допустим D)
а в какой момент PQ разучилась удалять столбцы? Последовательная нумерация доступна через добавление столбца индекса(Добавить столбец - Столбец индекса). Если правильно понял про нумерацию.
Изменено: Дмитрий(The_Prist) Щербаков - 14 Фев 2020 13:21:17
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
как пропустить файл с расширением .xlsm, если в коде указано, что работаем с расширением: avFiles = Dir(sPath & "*.xls")??
 
Цитата
Советник I категории написал:
всё суммирует
Предположу, что первыми просматриваются сейчас файлы xls, поэтому все и работает. Но если вдруг где в середине просмотра попадется файл не xls - цикл завершится, просмотрев НЕ ВСЕ. Поверьте на слово или проверьте, добавив в папку файлы xlsx в такими же именами или именами, которые будут при помощи Dir просматриваться ПЕРВЫМИ(до файлов xls).
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Обобщение нескольких книг
 
Цитата
Kulibinslovoru написал:
все книги под паролями (поэтому не PQ)
тоже не повод отказываться: Собрать данные из защищенных паролем файлов - PowerQuery
Изменено: Дмитрий(The_Prist) Щербаков - 14 Фев 2020 13:12:49
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 356 След.
Наверх