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

Страницы: 1
Power query, переменная для выбора листа., Необходимо задать переменную для запроса, выбора листов книги.
 
Код
let
    Источник = Excel.Workbook(File.Contents("путь к файлу.xlsx"), null, true),
    #"xxxx_Sheet" = Источник{[Item="лист1",Kind="Sheet"]}[Data]
 in
    #"xxxx_Sheet"
Подскажите пжт, хочу задать в виде списка название листов ("лист1, лист2, и.т.д.), который будет расположен в "книге1" на "листе1" в ячейке "A2",   ВОПРОС: Как меняя список с именами листов, например "лист1, лист2, лист5, и т.д. подтягивать в первую книгу данные из конкретного листа второй книги имя которой  выбрано из списка. Я понимаю что надо в запросе сослаться на ячейку A2 присвоить ее в виде переменной.
Код
Источник{[Item="лист1",Kind="Sheet"]}[Data]

Но что то пошло не так, знаний то 0. В нижнем примере пытаюсь присвоить переменной "A1Value" значение ячейки A2, которая представлена умной таблицей с названием "параметры" и столбцом "столбец".

Код
let
  A1Value = Excel.CurrentWorkbook(){[Name="параметры"]}[Content]{0}[столбец],
  Источник = Excel.Workbook(File.Contents("путь к файлу.xlsx"), null, true),
  #"Таблица" = Источник {[Item=A1Value,Kind="Sheet"]}[Data]
in
 #"Таблица"
Но постоянно сыпятся разные ошибки...  
Не работает код VBA, синтаксис в написании.???, with и range
 
Код
With ObrazWsh

'       arr = .Range("D12:D81")        ' В таком виде работает, но так как столбец это переменная,то такое написание не подходит.
        arr = .Range(Cells(12, clm), Cells(81, clm)) ' а вот так выдает ошибку.
      For rw = 1 To UBound(arr) Step 2
       ThisWorkbook.Worksheets(shts).Cells(rw + 11, clm) = arr(rw, 1)
      Next rw

End With

Есть код который копирует определенный заданный столбец из книги скажем "Х"., которую мы выбираем.  Не стал приводить весь этот код для краткости, а только кусок на котором и возникает ошибка.
Смысл,..заложенный в программу. Нужно что бы скопированный столбец из книги "Х" был помещен в этот же столбец в нашу открытую книгу.

Если использовать вот эту форму написания arr = .Range("D12:D81"), то все работает.
Если arr = .Range(Cells(12, clm), Cells(81, clm)) то выдает ошибку "method range of object worksheet failed"
ПОДСКАЖИТЕ В ЧЕМ ОШИБКА?
Копирования из одной книги в другу. Workbook_Activate, workbook_deactivate, При копировании из одной книги в другую буфер обмена пустой. Как исправить.
 
Подскажите пожалуйста, в книге прописан код, метод Workbook_Activate, workbook_deactivate(). Проблема в следующем, если открыть любую другую книгу excel, и скопировать  данные в буфер обмена а потом попытаться вставить их в нашу книгу, то буфер обмена будет пуст. Можно ли это исправить? Что бы данные оставались в буфере обмена после возвращения в файл excel Workbook_Activate.? Спасибо.
Код
Private Sub Workbook_Activate()
MsgBox "привет"
'Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", false)"
    Application.CellDragAndDrop = True
    Application.ScreenUpdating = False
    ActiveWindow.DisplayGridlines = False
    ActiveWindow.DisplayHeadings = False
    Application.DisplayFormulaBar = False
'    DragAndDrop = Application.CellDragAndDrop
'    If DragAndDrop Then Application.CellDragAndDrop = False
    End Sub

Private Sub workbook_deactivate()
'Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", true)"
MsgBox "пока"
Application.ScreenUpdating = True
    ActiveWindow.DisplayGridlines = True
    ActiveWindow.DisplayHeadings = True
    Application.DisplayFormulaBar = True
    Application.CellDragAndDrop = True
End Sub
Изменено: ДСтрельцов - 18.12.2022 14:47:32
Соединить два макроса в один рабочий, Помогите связать два макроса, каждый по отдельности работает а вместе нет.
 
Помогите связать два макроса, каждый  по отдельности работает.
Нужно что бы работал второй макрос в теле первого. Связать их не получается, не силен в VBA. Метод тыка, дедукции и логики не сработал.
Как можно их подружить?

Смысл работы этого файла: При вводе в колонку ФИО, сразу проставляется дата и копия колонки ФИО, это первый макрос. Второй макрос нам говорит о том что все ячейки которые имеют защиту неудаляемы.  И в итоге первый макрос без второго работает, и второй без первого тоже. А вот вместе .....

Код
Private Sub Worksheet_Change(ByVal Target As Range)
        Dim cell As Range
If Not Intersect(Target, Range("STATE_COLUMN")) Is Nothing Then
        On Error Resume Next
        Application.ScreenUpdating = False
        For Each cell In Intersect(Target, Range("STATE_COLUMN"), Cells.SpecialCells(xlCellTypeConstants)).Cells
             If (LCase(cell.Value) <> LCase(cell(1, 2).Value)) Then
                If (LCase(cell.Value) = Range("")) Then
                    With cell(1, 5)
                        .Value = Now
                        .EntireColumn.AutoFit
                    End With
                    End If
                cell(1, 2).Value = cell.Value
            End If
            Next
           End If
End Sub
Код
Private Sub Worksheet_Change(ByVal Target As Range)    
if Target.Locked = True Then
        Application.EnableEvents = False
        Application.Undo
        Application.EnableEvents = True
    End If
End Sub

Изменено: ДСтрельцов - 11.11.2022 19:06:36
Отслеживание активных ячеек только в столбце B, Отслеживание по листу активной ячейки и запись значения в А1
 
Подскажите уважаемые друзья.
Есть простой макрос который отслеживает активную ячейку по всему листу и записывает ее значение в ячейку А1. Как его модифицировать что бы отслеживание происходило только по столбцу B.
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1") = ActiveCell.Value
End Sub
Ввод значений в столбец, и их копирование макросом.
 
При вводе значений в столбце А они копируются в столбце В, нужно дополнить макрос что бы при вводе информации в столбце D, она копировалась в столбце E.
Спасибо всем кто поможет.
Очистка содержимого ячейки Листа2 по условию ячейки Листа1 МАКРОС.
 
Помогите модифицировать макрос, под данное условие.
Запись нескольких значений из выпадающего списка в одну ячейку VBA, Файл во вложении, в архиве. Подробно расписано в нем.
 
Есть ли возможность реализовать данную схему.
Страницы: 1
Наверх