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

Страницы: 1
Power query, переменная для выбора листа., Необходимо задать переменную для запроса, выбора листов книги.
 
ВСем спасибо огромное, )
Power query, переменная для выбора листа., Необходимо задать переменную для запроса, выбора листов книги.
 
Вопрос снят, так как имена листов представлены в цифровом формате, то надо число преобразовать в текст.
Код
A1ValueText = Text.From(A1Value)
Power query, переменная для выбора листа., Необходимо задать переменную для запроса, выбора листов книги.
 
Эту тему перечитал. И Давно применяю. Не получается именно для листа.Так как при выборе файла выбираем либо все листы либо ссылаемся на конкретный, А вот что бы задать имя листа через ячейку, не выходит.
Изменено: ДСтрельцов - 21.09.2024 10:13:51
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
 
_Boroda_ супер. Так и знал что в синтаксисе проблема. )))
СПС, тема закрыта. ))) Всем спасибо.
Не работает код VBA, синтаксис в написании.???, with и range
 
Тут то и объединять то нечего "Union". Один столбец для массива.
Если использую эту команду "arr = .Range(Cells(12, clm), Cells(81, clm))" вне With ObrazWsh то все работает, массив формируется.  
Не работает код 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, При копировании из одной книги в другую буфер обмена пустой. Как исправить.
 
Возможно не самое элегантное но работает )
Код
Private Sub Workbook_Activate()
If ThisWorkbook.Application.DisplayFullScreen = False Then
    ThisWorkbook.Application.ScreenUpdating = False
    ThisWorkbook.Application.DisplayFullScreen = True   
    ActiveWindow.DisplayHeadings = False                
    ActiveWindow.DisplayGridlines = False
    ThisWorkbook.Application.DisplayFormulaBar = True   
    End If
End Sub
Копирования из одной книги в другу. Workbook_Activate, workbook_deactivate, При копировании из одной книги в другую буфер обмена пустой. Как исправить.
 
Задача оч.простая, скрыть панель инструментов "SHOW.TOOLBAR(""Ribbon"", false)" заголовки, сетку только в этой книге. И добиться того, что бы при открытии новых книг меню у них было полное. Вот код в том виде как он прописан:
код в "Эта книга"

Код
Private Sub Workbook_Open() ' открытие книги
    УбратьВсё
End Sub
Private Sub Workbook_Activate() ' возврат на эту книгу из другой
    УбратьВсё
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean) ' закрытие книги
    ВосстановитьИнтерфейс
      
End Sub
Private Sub Workbook_Deactivate() ' переключение на другую книгу
    ВосстановитьИнтерфейс
End Sub

 
А следующий код пишем в модуле:
Код
Sub ChangeInterface(Value As Boolean)
    With Application
        .ScreenUpdating = True
        .Caption = IIf(Value = True, Empty, "ТАБЕЛЬ")
        .DisplayStatusBar = True: .DisplayFormulaBar = True
        Dim iCommandBar As CommandBar
        For Each iCommandBar In .CommandBars
            iCommandBar.Enabled = True:
        Next
        With .ActiveWindow
            .Caption = IIf(Value = True, .Parent.Name, "")
            .DisplayHeadings = Value: .DisplayGridlines = Value
            .DisplayHorizontalScrollBar = True: .DisplayVerticalScrollBar = True
            .DisplayWorkbookTabs = True
        End With
        .ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", " & Value & ")"
        .ScreenUpdating = True
    End With
End Sub

Sub УбратьВсё()
    ChangeInterface False
End Sub


Sub ВосстановитьИнтерфейс()
    ChangeInterface True
End Sub
Но к сожалению копирование между этой книгой и вновь открытыми не работает (( .
Изменено: ДСтрельцов - 08.01.2023 19:53:33
Копирования из одной книги в другу. Workbook_Activate, workbook_deactivate, При копировании из одной книги в другую буфер обмена пустой. Как исправить.
 
Так и есть результат не утешителен. При комменте всех строк работает, открываешь любую одну, перестает работать с буфером.
Копирования из одной книги в другу. Workbook_Activate, workbook_deactivate, При копировании из одной книги в другую буфер обмена пустой. Как исправить.
 
К сожалению не помогает. ((
Копирования из одной книги в другу. 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
Соединить два макроса в один рабочий, Помогите связать два макроса, каждый по отдельности работает а вместе нет.
 
Решено. Код верный, ошибки были в написании.
Соединить два макроса в один рабочий, Помогите связать два макроса, каждый по отдельности работает а вместе нет.
 
Безусловно всем спасибо..

Знатоки подскажите что я делаю не так. Уже вроде все написали, скопировал вставил. А он "редиска" ругается... В чем может быть ошибка, какую запятую я не вижу, то что не понимаю это и так понятно.
Изменено: ДСтрельцов - 28.11.2022 13:05:10
Соединить два макроса в один рабочий, Помогите связать два макроса, каждый по отдельности работает а вместе нет.
 
Задачка оказалась куда интереснее. При очистке колонки Н, VBA выдает ошибку. И даже понятно почему он ее выдает. ) А вот как ее обойти не меняя структуры...
Изменено: ДСтрельцов - 13.11.2022 11:37:50
Соединить два макроса в один рабочий, Помогите связать два макроса, каждый по отдельности работает а вместе нет.
 
Тут только благодарят. ))) Спс. Уже гораздо проще и понятнее. Теперь навешиваю листики на ваш вариант. Еще раз спс.
Соединить два макроса в один рабочий, Помогите связать два макроса, каждый по отдельности работает а вместе нет.
 
Помогите связать два макроса, каждый  по отдельности работает.
Нужно что бы работал второй макрос в теле первого. Связать их не получается, не силен в 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
 
Спасибо большое. )
Отслеживание активных ячеек только в столбце B, Отслеживание по листу активной ячейки и запись значения в А1
 
Подскажите уважаемые друзья.
Есть простой макрос который отслеживает активную ячейку по всему листу и записывает ее значение в ячейку А1. Как его модифицировать что бы отслеживание происходило только по столбцу B.
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1") = ActiveCell.Value
End Sub
Ввод значений в столбец, и их копирование макросом.
 
спасибо, огромное..
Ввод значений в столбец, и их копирование макросом.
 
ДУБЛЬ НОМЕР 2..

При вводе значений в столбце А они копируются в столбце В, нужно дополнить макрос что бы при вводе информации в столбце D, она копировалась в столбце E.
P.S. Смысл именно сделать макросом, т.к. такая схема нужна для дальнейших работ с файлом.
Спасибо всем кто поможет.
Изменено: ДСтрельцов - 25.03.2014 09:23:39
Ввод значений в столбец, и их копирование макросом.
 
прошу прощения видимо файл не подцепился... (((
Ввод значений в столбец, и их копирование макросом.
 
При вводе значений в столбце А они копируются в столбце В, нужно дополнить макрос что бы при вводе информации в столбце D, она копировалась в столбце E.
Спасибо всем кто поможет.
Очистка содержимого ячейки Листа2 по условию ячейки Листа1 МАКРОС.
 
спасибо большое, то что нужно.
Очистка содержимого ячейки Листа2 по условию ячейки Листа1 МАКРОС.
 
Помогите модифицировать макрос, под данное условие.
Запись нескольких значений из выпадающего списка в одну ячейку VBA, Файл во вложении, в архиве. Подробно расписано в нем.
 
Все сложное оказывается простым когда знаешь как это сделать. Спасибо.
Запись нескольких значений из выпадающего списка в одну ячейку VBA, Файл во вложении, в архиве. Подробно расписано в нем.
 
Спасибо попробую
Запись нескольких значений из выпадающего списка в одну ячейку VBA, Файл во вложении, в архиве. Подробно расписано в нем.
 
Меняем состояние и видим результат. :-)
Запись нескольких значений из выпадающего списка в одну ячейку VBA, Файл во вложении, в архиве. Подробно расписано в нем.
 
Есть ли возможность реализовать данную схему.
Страницы: 1
Наверх