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

Страницы: 1
Применение кода VBA ко всем файлам в папке по очереди
 
Alex, да-да, только что написал)
как раз оттуда, с языка сняли что называется)
Применение кода VBA ко всем файлам в папке по очереди
 
вот только написал и вроде нашел

https://www.excel-vba.ru/chto-umeet-excel/prosmotret-vse-fajly-v-papke/?ysclid=mihcwtvd3c346685875#:...

Sub Get_All_File_from_Folder()
   Dim sFolder As String, sFiles As String
   Dim wb As Workbook
   'диалог запроса выбора папки с файлами
   With Application.FileDialog(msoFileDialogFolderPicker)
       If .Show = False Then Exit Sub
       sFolder = .SelectedItems(1)
   End With
   sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, "", Application.PathSeparator)
   'отключаем обновление экрана, чтобы наши действия не мелькали
   Application.ScreenUpdating = False
   sFiles = Dir(sFolder & "*.xls*")
   Do While sFiles <> ""
       'открываем книгу
       Set wb = Application.Workbooks.Open(sFolder & sFiles)
       'действия с файлом
       'Запишем на первый лист книги в ячейку А1 - www.excel-vba.ru
       wb.Sheets(1).Range("A1").Value = "www.excel-vba.ru&quot;
       'Закрываем книгу с сохранением изменений
       wb.Close True 'если поставить False - книга будет закрыта без сохранения
       sFiles = Dir
   Loop
   'возвращаем ранее отключенное обновление экрана
   Application.ScreenUpdating = True
End Sub

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

есть папка с файлами, пускай в корне C, для упрощения вопроса
задача - по очереди открыть каждый файл в этой папке (все одним расширением .xlsm, сложностей дополнительных нет)
запустить в каждом файле код, отдельно имеющийся
сохранить файл в той же папке да и закрыть

в открытых источниках как-то всё очень сложно, попробовал пару-тройку готовых решений - не работает, проскакивает почему-то с Do While сразу на End Sub

может есть какое-то прям простейшее решение?
VBA не меняет формулу, привязанную к элементу управления формы
 
gling, ну вот и всё)))

спасибо!
запоминаю на будущее
VBA не меняет формулу, привязанную к элементу управления формы
 
Коллеги, добрый день

вот вроде бы очень простой вопрос
но не очень(
в файле размещен элемент управления формы (флажок)
он как положено привязан к Ячейке 1, и в зависимости от того, включен флажок или выключен, ячейка возвращает ИСТИНА/ЛОЖЬ
а от неё идет формула к другой Ячейке 2 (ЕСЛИ)

задаю макросом значение ИСТИНА для Ячейки 1
а в Ячейке 2 ничего не меняется, только при ручном включении флажка
пересчет листа не помогает

может кто сталкивался? был бы весьма признателен
Обновление данных в модели данных PowerPivot средствами VBA
 
Дмитрий(The_Prist) Щербаков, понятно, спасибо, изучу
Обновление данных в модели данных PowerPivot средствами VBA
 
коллеги, благодарю за участие в вопросе
скомпилировал решение из разных подходов

Дмитрий(The_Prist) Щербаков, вот здесь только хотел бы уточнить на будущее:

'необходимо обратиться к конкретному типу подключения
               'в зависимости от типа запроса - определяем тип(.Type)
               Set xQuery = Nothing
               Select Case oc.Type
               Case Excel.XlConnectionType.xlConnectionTypeODBC
                   Set xQuery = oc.ODBCConnection
               Case Excel.XlConnectionType.xlConnectionTypeOLEDB
                   Set xQuery = oc.OLEDBConnection


как здесь определить тип подключения? я вижу что тут xQuery - это только для PowerQuery подойдет? для PowerPivot другие типы?
Изменено: Денис_Д - 03.03.2025 13:58:58
Обновление данных в модели данных PowerPivot средствами VBA
 
Hugo, не срабатывает, и кажется понимаю, почему
таблицы, импортированные в МД, находятся в разных эксель-файлах
и часть из них являются сводными таблицами - вот они то не обновляются и в МД поступает после RefreshAll необновленная информация

как бы исхитриться обновлять все вот исходники, не открывая их?
т.е. в файле, в котором МД - в нем меняются некие параметры в фильтрах и пр., исходники должны тоже обновиться (в закрытых файлах!!) и притянуться в МД свежими, и далее уже PowerPivot выдает обновленные данные
Обновление данных в модели данных PowerPivot средствами VBA
 
Коллеги, добрый день
Возникла задача - макросом обновить все таблицы в МД в PowerPivot
таблицы импортированы из отдельных экселевских файлов и собраны в одной папке
вот это:
ActiveWorkbook.Model.Refresh
не работает :evil:
догадываюсь, что это как то очень просто
но не догадываюсь, как(
наверняка всё уже придумано до нас
кто сталкивался - расскажите, пожалуйста
Фильтрация данных в сводной таблице PowerPivot с помощью макроса
 
Alex, большое спасибо!

всё корректно, приму к сведению методику
Фильтрация данных в сводной таблице PowerPivot с помощью макроса
 
Alex, да, спасибо, фильтр отлавливает таким образом после вставки полей и таблицы МД корректно

но последняя строчка в коде битая, что-ли
вот это:
      pf.PivotFilters.Add2 xlCaptionEquals, myFilter
не работает(

попробовал так:
      pf.CurrentPage = myFilter
а тоже не работает :cry:

здесь то что нет так хоть?

да, прошу прощения, в прошлый раз не приложил пример, по правилам форума требуется
прикладываю (сводная таблица в PowerPivot с моделью данных и код VBA)
Фильтрация данных в сводной таблице PowerPivot с помощью макроса
 
Коллеги, добрый день.
Возникла задача через vba задать фильтр в сводной таблице, сгенерированной в среде PowerPivot.
Стандартное решение в сети:

   SubFilterPivotTable ()   Dim pf As PivotField
   Dim myFilter As String
   Set pf = ActiveSheet.PivotTables(" PivotTable1 ").PivotFields(" Position ")
   myFilter = ActiveWorkbook.Sheets(" Sheet1 ").Range(" J2 ").Value
   pf.PivotFilters.Add2 xlCaptionEquals, , myFilter
   End Sub

не работает, оно подходит только для обычной сводной таблицы
а именно в PowerPivot не определяет, т.к. "невозможно получить свойство PivotFields класса PivotTables"
предполагаю, что макрос не понимает из какой конкретно таблицы вытянуто поле в сводную (их несколько в модели данных и названия повторяются)
нужно как-то наверно указать таблицу м.б.?
или как подступиться грамотно?
может кто-то уже всё это проходил и знает?
Страницы: 1
Наверх