как вариант, сначала создаете сводную, и цены закидываете в строки, и потом делаете группировку с нужным шагом. И потом в срезе будут уже эти диапазоны. Это конечно нет то, что вы хотите, но как вариант.
Sub СохранитьСУникальнымИменем()
Dim ИмяФайла As String
ИмяФайла = "Путь\к\вашей\папке\" & Format(Now, "dd-mm-yyyy_hh-mm-ss") & ".docx"
ActiveDocument.SaveAs ИмяФайла
End Sub
Олег м, у вас ошибка на этой строчке? .Range(.PageSetup.PrintArea).ExportAsFixedFormat Type:=xlTypeXLSX, filename:=filename & ".xlsx", Quality:= _ я имел ввиду, что вы используете метод Метод ExportAsFixedFormat. Он используется для публикации книги в формате PDF или XPS . А вам нужно просто сохранить xlsx.
let
pathValue = Excel.CurrentWorkbook(){[Name="Таблица2"]}[Content]{0}[Столбец2],
url = "https://mpstats.io/api/wb/get/brand?d1=2023-06-13&d2=2023-06-13&path=" & pathValue,
data = Web.Contents(url)
in
data
Sub УдалениеСтрокПоУсловию2()
Dim ra As Range, delra As Range, ТекстДляПоиска() As String
Dim i As Integer, found As Boolean
Application.ScreenUpdating = False ' отключаем обновление экрана
ТекстДляПоиска = Split("шт,цена", ",") ' удаляем строки, которые не содержат эти тексты
' перебираем все строки в используемом диапазоне листа
For Each ra In ActiveSheet.UsedRange.Rows
found = False
' перебираем все искомые тексты
For i = 0 To UBound(ТекстДляПоиска)
' если в строке найден искомый текст
If Not ra.Find(ТекстДляПоиска(i), , xlValues, xlPart) Is Nothing Then
found = True
Exit For
End If
Next i
' если ни один из искомых текстов не найден в строке
If Not found Then
' добавляем строку в диапазон для удаления
If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra)
End If
Next
' если подходящие строки найдены - удаляем их
If Not delra Is Nothing Then delra.EntireRow.Delete
End Sub
Без самих файлов сложно что-то подсказать. Ваша проблема может быть связана с тем, как открываются два файла Excel на вашем новом компьютере. Убедитесь, что оба файла открыты в одном и том же экземпляре Excel. Попробуйте открыть первый файл, а затем открыть второй файл, используя инструмент "Открыть" на панели инструментов или выбрав "Файл" | "Открыть".
Копирование значений через определенный шаг, Надо составить таблицу, где будут собраны результаты ответа всех респондентов на 1-ый вопрос, потом ответы всех на 2-ой вопрос
Можно сделать через сводную таблицу, только сначала в заголовке убрать объединенные ячейки. И протянуть номера респондентов на каждый блок, удалить пустые строки
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Выберите папку или диск"
.Show
On Error Resume Next
Err.Clear
V = .SelectedItems(1)
If Err.Number <> 0 Then
MsgBox "Вы ничего не выбрали!"
Exit Sub
End If
End With
BrowseFolder = CStr(V)
Добрый день! У вас пример не очень. на листе оплаты у вас всё с 21 по 23 год, а на листе расходы только июнь 22 года. Поэтому на вашем примере сложно показать.
Я бы начал так: 1. Грузим таблицы Доходы и Расходы в PQ. В запросе Доходы добавляем пользовательский столбец "Вид", со формулой "=Доходы" В запросе Расходы добавляем пользовательский столбец "Вид", со формулой "=Расходы". И ещё умножаем столбец Сумма на -1 Далее делаем Append (Объединить - добавить запросы). Чтобы Доходы и Расходы оказались в одной таблице. Но сначала переименовать нужные столбцы, чтобы они одинаково назывались в обоих запросах. Т.е. дата, сумма, вид и тд. Тогда они друг под друга попадут. Из этого общего запроса вы сможете в сводной кинуть в строки поле Вид - будет разделение на доходы и расходы и далее различную аналитику. 2. Финансовый результат нарастающим итогом можно тоже сделать в PQ, и сделать Append к общей таблице, но это лучше на примере показать. И потом так же кидать в сводную. Остаток денежных средств на конец предыдущего месяца - это по сути будет тот же Финансовый результат, только отталкиваясь от первоначального входящего остатка.
= Table.SelectRows(#"Измененный тип", each Date.IsInNextMonth([Дата]) or Date.IsInCurrentMonth([Дата]) or [Дата] = Date.From(Date.AddMonths(Date.StartOfMonth(DateTime.LocalNow()), -11)))
Возможно надо будет поковыряться в настройках безопасности Internet Explorer
Код
Sub Kurs()
Dim IE As Object
Dim html As Object
Dim t As String
Dim holdings As Variant
Set IE = CreateObject("internetexplorer.application")
IE.Visible = 0
IE.Navigate2 "https://ru.investing.com/currencies/eur-usd"
Do While IE.Busy
Application.Wait DateAdd("s", 1, Now)
Loop
Set html = IE.document
Set holdings = html.getElementByID("last_last")
t = holdings.textContent
Range("A1").Value = CDec(t)
Range("A1").NumberFormat = "General"
IE.Quit
Set IE = Nothing
End Sub