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

Страницы: 1
Как создать список на основе критериев
 
Здравствуйте, помогите пожалуйста с такой задачей. В книге есть, Лист "Перечень", в нём храниться "Название" (столбец "B") и  "Категория" (столбец "C"), а на Листе "Результат", в столбец "E" заноситься категория товара (неопределенное количество) и на основе этой категории нужно создать список из Листа "Перечень", как показано в моём примере столбец "G:G". Попытался сделать это через формулу фильтр, но получается муторно так как для каждой ячейки нужно прописать условие, а таких ячеек не определённое количество
Как выполнить макрос с конкретной ячейки и листа не переходя на него
 
Здравствуйте подскажите пожалуйста, как можно выполнить данный макрос, не переходя на лист "Яблоко" с ячейки" D100". Он работает так я перехожу на лист "Яблоко" выбираю нужную мне ячейку в столбце "A", и запускаю его. А нужно чтобы я мог запустить его с любого другого листа, но чтобы он выполнился с листа "Яблоко", ячейка "D100"
Код
Sub Создать()
With Worksheets("Яблоко")

Application.ScreenUpdating = False
lr = Cells(Rows.Count, 4).End(xlUp).Row
For Each cell In .Range("D100:D" & lr)
If cell = "Подразделение" Then
cell.Select
cell.Offset(0, -3).Select
    МРК_Подразделение_Создать_Протокол 'ваш макрос
End If

If cell = "Показатель" Then
cell.Select
cell.Offset(0, -3).Select
    МРК_Создать_Протокол 'ваш макрос
End If

cell.Offset(0, -2).Select
Next
Application.ScreenUpdating = True

      End With
End Sub
Получить список листов из-за крытой книги
 
Здравствуйте подскажите пожалуйста, как  можно получить список листов из-за крытой книги. Есть макрос который с этим справляется, только почему-то, он вытаскивает список листов с "$" на конце, и "$_xlnm#Print_Area"
Лист1$
Лист2$
Лист3$
Лист1$_xlnm#Print_Area
Лист2$_xlnm#Print_Area
Лист3$_xlnm#Print_Area
Код
Sub ExistsSheet()
    Dim oConn As Object
    Dim objRS As Object
    Dim sf$, avr, avsh, li&, lr&, lc&
   
    sf = [G1]
    Set oConn = CreateObject("ADODB.Connection")
    oConn.CursorLocation = 3
    oConn.Open "DBQ=" & sf & ";Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};ReadOnly=1;"
    Set objRS = oConn.OpenSchema(20) '20 = adSchemaTables, т.е. список таблиц
    'Cells(1, 1).CopyFromRecordset objRS
   
    li = objRS.RecordCount
    avr = objRS.getrows(li, 0)
    ReDim avsh(1 To li, 1 To 1)
    For lr = 0 To li - 1
        avsh(lr + 1, 1) = avr(2, lr)
    Next
    Cells(1, 1).Resize(li, 1).Value = avsh
    objRS.Close
    oConn.Close
    Set objRS = Nothing
    Set oConn = Nothing
End Sub
Можно просто получить список названий?
Лист1
Лист2
Лист3
Изменено: Valery37 - 02.10.2025 12:53:24
Параметризация в Power Query, выдаёт ошибку "DataSource.Error: Файл
 
Здравствуйте, подскажите пожалуйста, что делаю не так.  Выполняю все как описано в этом уроке Параметризация путей к данным в Power Query, но выдаёт ошибку когда  прописываю в запрос это:
Код
Excel.CurrentWorkbook(){[Name="Параметры"]}[Content]{0}[Путь к исходным данным]
Что не так, не могу понять? Файлы находятся в разных папках
Как из закрытой книги вытащить массив данных
 
Здравствуйте, помогите дописать формулу, если такое возможно. У меня есть две книги "Поиск" и "Пробник". Формула, для вывода данных, которая находится в ячейки "F3", работает если вторая книга "Пробник" открыта. В книге "Поиск" в ячейки:
"B4" вводим название Книги ("Пробник"), из которой будим вытаскивать данные;
"B5" вводим название Листа ("Хранилище_заказчик"), из которого будим вытаскивать данные;
"B6" первый параметр поиска;
"B7" второй параметр поиска;
"B8" массив из которого берутся данные;
"D2" первое название, для поиска;
"E2" второе название, для поиска;
Первый вопрос, что можно прописать в формуле чтобы она не выводила "0"?, просто когда я копирую, этот массив и вставляю значения, то в место пустых ячеек, он выводит "0";
Второй вопрос, можно ли как-то в ячейки "B8" (массив из которого берутся данные), прописать формулу которая автоматически определит последний столбец в котором есть данные, первый всегда статичный будит;
Третий вопрос, а из-за крытой книги можно вытащить массив. Или это можно макросом всё сделать?
Помогите подкорректировать формулу, если такое возможно.

Дублировать выбранный диапазон определенное количество раз
 
Здравствуйте помогите, пожалуйста с такой проблемой. Есть форма в ней есть "Texbox1" и "Texbox2", с помощью которых мы указываем диапазон для копирования. В "Texbox1" указывается с какой строки выбрать диапазон, например с  "5" строки. "Texbox2" по какую строку выбрать диапазон, например по "24" строку. В "Texbox3", указываем с какой строки вставить выбранный диапазон. А в "Texbox4" указываем сколько раз продублировать, этот диапазон, например "4" раза. В примере показано, как должно получиться. Можно ли такое выполнить с помощью макроса?
Перенести данные из открытой книги в закрытую в определенные листы
 
Здравствуйте подскажите пожалуйста. У меня есть, две книги "Список" и "Журнал", нужно скопировать из книги "Список" информацию в книгу "Журнал", в определенные листы. В книге "Список" есть лист "Подборка" в ячейках "E1:N1", находятся название листов (они могут быть разные). На листе "Расположение", в ячейки "G4" прописан путь к книге "Журнал". На листе "Данные" находится информация, которую нужно скопировать значения в книгу "Журнал", в те листы название которых прописаны  на листе "Подборка" в ячейках "E1:N1", после последней заполненной ячейки. Помощь очень нужна, прошу Вас о ней!!! Есть похожие макросы, чтобы в помощь

Код
Sub Копировать_В_путь_в_определенной_ячейки()
With Sheets("Лист1")
End With
Dim wb As String: wb = [A2] 'путь к основной книге (куда копировать)
With Application
   .EnableEvents = False
   .Calculation = xlCalculationManual
   .ScreenUpdating = False
Application.ScreenUpdating = False
Workbooks.Open Filename:=wb
ThisWorkbook.ActiveSheet.Range("C10").Copy ActiveWorkbook.ActiveSheet.Range("C10") 'копируем все данные с активного листа
ThisWorkbook.ActiveSheet.Range("E10").Copy ActiveWorkbook.ActiveSheet.Range("E10") 'копируем все данные с активного листа
ActiveWorkbook.Close (True)
   .EnableEvents = True
   .Calculation = xlCalculationAutomatic
   .ScreenUpdating = True
Application.ScreenUpdating = False
End With
End Sub
Код
Sub Область_Выделения_2()
Range("A3", Cells(Rows.Count, 11).End(xlUp)).Select
End Sub
Собрать_ все столбы с данными на одно листе
 
Здравствуйте подскажите пожалуйста. У меня есть макрос, при запуске которого он собирает данные со столбцов с данными с листа "Лимон", и копирует их в активный лист в первый столбец. Что нужно прописать, чтобы он копировал данные всегда на определенный лист например "Яблоко", а не на активный
Удалить строки на листе содержащие формулу
 
Здравствуйте, подскажите пожалуйста, как макросом можно удалить строки содержащие формулу. Например на "Лист2", есть формула созданная через диспетчер устройств "=Лимон", как можно макросом удалить строки которые содержат формулу "=Лимон"
Изменено: Valery37 - 13.09.2025 13:05:39
Вставить формулу на листе ориентируясь на столбец другого листа
 
Здравствуйте подскажите, пожалуйста. Как можно вставить формулу на листе ориентируясь на столбец другого листа. На "Лист1" в столбце "G:G", есть слово "Яблоко",  как можно вставить формулу на "Лист2", в те же ячейки что и слово "Яблоко" с "Лист1". Например, если на "Лист1",  в ячейки "G1" есть слово "Яблоко", то формулу нужно вставить на "Лист2" в ячейку "G1"
RibbonXMLEditor как соединить "editBox" с ячейкой
 
Здравствуйте подскажите пожалуйста. У мня, есть книга, в ней есть вкладка "Моя вкладка", в этой вкладке находится "editBox" с полем. Как можно сделать так, чтобы при вводе текста в "editBox" с полем, при нажатии на "Enter", это текст заносился на Лист "Яблоко" в ячейку "D3"?
textbox маска для ввода времени
 
Здравствуйте помогите, пожалуйста. У меня есть форма с "textbox1", в котором заноситься время в формате "чч:мм", как сделать чтобы часы нельзя было вводить больше "23" часов?
Не обязательно, но всё же: если поставить курсор с права от минут, как можно удалить "кнопкой Backspace" на клавиатуре, и минуты и часы, в моём случае удаляются только минуты.
Как формулой вытащить первые два символа из времени
 
Здравствуйте подскажите пожалуйста. Как формулой можно вытащить первые два символа? Например: в ячейку "A1" ввели время "15:36", нужно чтобы в ячейку "B1" вынеслось число "15". Или если в ячейку "A1" ввели просто число "15", то нужно чтобы в ячейку "B1" вынеслось число "15". Как это сделать всё одной формулой? Числа могут быть разные
Как запретить в носить дату в ячейку, если эта дата она имеется в соседней
 
Здравствуйте, помогите с таким вопросом. А меня на "Лист1" в ячейки "A7", есть дата (например) "26.08.2025", а в ячейку "B7" заноситься дата с календарика. Вопрос, как можно сделать так чтобы например та дата которая имеется на "Лист1" в ячейки "A7", нельзя было внести такую же дату с календарика через кнопку "Записать", на "Лист1" в ячейки "B7"
Изменено: Valery37 - 27.08.2025 06:33:51
Как отключить проговаривание ячеек после ввода
 
Здравствуйте, подскажите как отключить раз и навсегда "Проговаривание ячеек после ввода". НЕ знаю где находиться это в настройках?
Как при загрузки формы выставлять флажок в CheckBox по значению из ячейки
 
Здравствуйте подскажите пожалуйста. Как при загрузки формы выставлять флажок в CheckBox по значению из ячейки, например если в ячейке  "EC6" стоит "Да", то поставить флажок при загрузки формы, если в ячейке "EC6" стоит "Нет", то убрать флажок при загрузки формы. Что нужно прописать при инициализации формы?
Код
Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then
  With Sheets("Нор_Док_МРК")
    .Range("EC6").Formula2R1C1 = "Да"
  End With
Else
  With Sheets("Нор_Док_МРК")
    .Range("EC6").Formula2R1C1 = "Нет"
  End With
End If
End Sub

Изменено: Valery37 - 16.08.2025 16:18:33
Выпадающий список с поиском через форму по условию
 
Здравствуйте, подскажите пожалуйста, с таким моментом. У меня есть форма, на которой находится, выпадающий список  с поиском. Как можно сделать так чтобы туда загружалось со столбца "E:E", только те значения напротив которых стоит в столбце "F:F" условие "Да", и подтянут список.
Изменено: Valery37 - 12.07.2025 00:12:29
Как создать автоматическое построение списка, без пустых строк
 
Здравствуйте подскажите, пожалуйста. У меня есть список  в столбце "B:B", с пустыми ячейка, а в ячейки "E2", я делаю построение списка Формулой "=УНИК(B2:B1000)", но она делает построение списка с "0", как можно вывести без него?
Как выполнить макрос на скрытом листе не переходя на него
 
Здравствуйте, подскажите пожалуйста, как можно выполнить любой макрос на скрытом листе не переходя на него. Вот макрос который находит в "44" столбце последнюю заполненную ячейку, спускается на одну строку в низ и уходит на первый столбик. Например если в 44 столбце последняя заполненная ячейка на 100 строке, то он перейдет на "A101". Но мне нужно выполнить эти действия не переходя на "Лист1"
Код
Sub Найти_Последнюю_Ячейку()
Dim iLastRow As Long
iLastRow = Cells(Rows.Count, 44).End(xlUp).Row
Cells(iLastRow + 1, 1).Select
End Sub
Как вставить формулу в ячейку в определенном листе
 
Здравствуйте подскажите пожалуйста, как вставить формулу в ячейку в определенном листе. Например нужно так, если я нахожусь на "Лист1", нажимаю на макрос который должен вставить формулу на "Лист2" ячейка "CX4" не переходя на него. Делал так, но что то не получается
Код
Sub Макрос1()
    With Sheets("Лист2")
       Range("CX4").FormulaR1C1 = "=TEXT(TODAY(),""ДД.ММ.ГГГГ"")&"" в ""&HOUR(NOW())&"":""&MINUTE(NOW())"
    End With
End Sub
Выделить диапазон ячеек ориентируясь по соседнему столбцу
 
Здравствуйте подскажите пожалуйста, как макросом выделить диапазон ячеек ориентируясь по соседнему столбцу. Например если в столбце "D3:D", есть данные с ячейки "D3" по "D10", то выделить диапазон в столбце "E3:E" с "E3" по "E10, или есть данные с ячейки "D7" по "D23", то выделить диапазон в столбце "E:E" с "E7" по "E23. Вот макрос, который выделяет столбец "E:E", то есть ориентируется на самого себя, а надо, чтобы также выделял но ориентировался на соседний столбец. Помогите подправить.
Код
Sub Выделить()
Range(Cells(3, 5), Cells(Cells(3, 5).End(xlDown).Row, 5)).Select
End Sub
Макросом протянуть формулу от первой заполненной ячейки
 
Здравствуйте подскажите пожалуйста. Есть макрос, который протягивает формулу:
Код
Sub Протянуть_Формулу()
  With Sheets("Лист1")
    .[H3].Resize(.Cells(.Rows.Count, "F").End(xlUp).Row - 2, 1).FormulaR1C1 = "=IFERROR(VLOOKUP('Лист1'!RC[-2], Лист2!R2C13:R9807C17,2,0),"""")"
  End With
End Sub
в столбце "H:H", начиная с ячейки "H3", а как можно сделать, чтобы он протягивал формулу в столбце "H:H", начиная с первой заполненной ячейки, после ячейки "H3"?
Из таблицы формулой выполнить поиск по двум значениями вывести список горизонтально
 
Здравствуйте подскажите пожалуйста, можно ли формулой  выполнить из таблицы поиск по двум значениями вывести список горизонтально. Как в примере у меня. Я ВПР знаю как сделать, но там нужно протягивать формулу в ручную. А можно это сделать как наподобие формулы "фильтр=", чтобы не вручную протягивать, а чтобы она самостоятельно протянулась горизонтально
Скопировать данные из за крытой книги в открытую с разных листов
 
Здравствуйте дорогие форумчане, помогите мне пожалуйста с макросом.  У меня есть две книги "Список.xlsm" и "Журнал.xlsm". В книге "Список.xlsm", на листе "Список_измерений", в ячейки "D2" указанно название того листа, который нужно найти в книге "Журнал.xlsm" с копировать с него данные со столбца "F:F" начиная с ячейки "F3" и ниже, в книгу "Список.xlsm" на лист "Список_измерений" в столбец "B:B" в следующую не заполненную ячейку.
Книга "Журнал.xlsm" находится по пути "E:\Сервер\Сервер 1\Сервер 2\Сервер 3\Сервер 4\РАБОЧИЕ ПРОТОКОЛЫ ЭТ НТ\Журнал"

Нашел похожий макрос
Код
Sub CopyDat()
    Dim Sh1 As Worksheet: Dim sAddress As String: Dim objCloseBook As Object: Dim flg As Boolean
    Application.DisplayAlerts = False: Application.ScreenUpdating = False
    Set Sh1 = ActiveSheet: flg = False
    Set objCloseBook = GetObject(ThisWorkbook.path & "\Книга2.xlsm")
    If objCloseBook.Sheets(Sh1.Name).Application.CountA(objCloseBook.Sheets(Sh1.Name).Cells) > 0 Then
        sAddress = "A1:J" & objCloseBook.Sheets(Sh1.Name).Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row
        If Sh1.Application.CountA(Sh1.Cells) > 0 Then
            Sh1.Range("A1:J" & Sh1.Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row).Clear
        End If
        objCloseBook.Sheets(Sh1.Name).Range(sAddress).Copy Destination:=[A1]: Application.CutCopyMode = False: flg = True
    Else
        MsgBox "В закрытой книге на листе """ & Sh1.Name & """ отсутствуют данные для переноса!", 48, "Info"
    End If
    On Error Resume Next
    For Each lnk In ThisWorkbook.LinkSources(xlExcelLinks)
        ThisWorkbook.BreakLink lnk, xlLinkTypeExcelLinks
    Next lnk
    On Error GoTo 0
    objCloseBook.Close False: Application.ScreenUpdating = True: [A1].Select: Application.DisplayAlerts = True
    If flg = True Then MsgBox "Готово!", 64, "Info"
End Sub
и ещё
Код
Sub Копировать_СИ_по_журналам()
    Dim wb As Workbook, c As Range, arrWB(), w
    arrWB = Array("Журнал.xlsm")
    With Application
       .EnableEvents = False
       .Calculation = xlCalculationManual
       .ScreenUpdating = False
       .Visible = False
         
        For Each w In arrWB
           'Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & w)' Этот метод копирует данные в книги ноходящиеся в одной папке с главной
            Set wb = Workbooks.Open("E:\Сервер\Сервер 1\Сервер 2\Сервер 3\Сервер 4\РАБОЧИЕ ПРОТОКОЛЫ ЭТ НТ\Журнал" & "\" & w) ' Этот метод копирует данные в книги ноходящиеся по пути с главной
            ThisWorkbook.Worksheets("Средства_измерений").Cells.Copy wb.Worksheets("Средства измерений").Cells 'копируем все данные с активного листа
            For Each c In wb.Worksheets("Средства_измерений").Cells.SpecialCells(xlCellTypeFormulas, 23)
                c.FormulaLocal = Replace(c.FormulaLocal, "[" & ThisWorkbook.Name & "]", "")
            Next c
            wb.Close (True)
        Next w
         
        .EnableEvents = True
        .Calculation = xlCalculationAutomatic
        .ScreenUpdating = True
        .Visible = True
    End With
    MsgBox "Средства измерения скопированы в журнал"
End Sub

Страницы: 1
Наверх