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

Страницы: 1 2 3 4 5 След.
Не получается выгрузить данные на xsd-карты в xml
 
Aлeкceй спасибо Большое Вам!!!, дальше буду писать код, как что получиться или не получиться сразу отпишусь. В понедельник только смогу проверить, как будит выгружаться xml файл в систему. А пока буду прописывать для остальных полей
Изменено: Voltz - 06.12.2025 13:47:28
Не получается выгрузить данные на xsd-карты в xml
 
Aлeкceй здравствуйте, спасибо что откликнулись на помощь. Да почти так, как просил. А как всё это вложить в между:
Цитата
<root>
   <protocol>
!!!ВОТ СЮДА!!!!
   <protocol>
<root>
Чтобы получилось так:
Код
<root>
    <protocol>
        <DocId>07_полный_тест_1</DocId>
        <DocCreationDate>2025-09-24</DocCreationDate>
        <DocStartDate>2025-09-24</DocStartDate>
        <DocValidityDate>2025-09-24</DocValidityDate>
        <DataStatusId>20</DataStatusId>
        <ProtocolStatusId>6</ProtocolStatusId>
        <AddressID>669664</AddressID>
        <TerritoryFeature>false</TerritoryFeature>
        <Address>
            <AddressDetails>
                <idCodeOksm>122</idCodeOksm>
                <IdAddrType>3</IdAddrType>
                <UniqueAddress>true</UniqueAddress>
                <UniqueAddressText>Беларусь</UniqueAddressText>
                <alienCity>Минск</alienCity>
                <alienDistrict>Минский район</alienDistrict>
                <alienLocality>Беларусь</alienLocality>
                <alienStreet>пр. Машерова</alienStreet>
                <alienHouse>дом 15</alienHouse>
            </AddressDetails>
        </Address>
        <AdditionKindId>ЮБ/64-пр /2</AdditionKindId>
        <AdditionKindDate>2025-09-24</AdditionKindDate>
        <ApplicationDate>2025-09-24</ApplicationDate>
        <Customer>
            <CustomerKindId>40</CustomerKindId>
            <DocId>RA.RU.11НА44</DocId>
            <InnId>262400568290</InnId>
            <OgrnId>5217746034751</OgrnId>
            <FullNameDetails>Полное наименование иностранного ЮЛ</FullNameDetails>
            <FioFl>ФИО ФЛ</FioFl>
        </Customer>
    </protocol>
</root>
А сейчас получается так:
Код
<root>
    <protocol>
        <DocId>07_полный_тест_1</DocId>
        <DocCreationDate>24.09.2025</DocCreationDate>
        <DocStartDate>24.09.2025</DocStartDate>
        <DocValidityDate>24.09.2025</DocValidityDate>
        <DataStatusId>20</DataStatusId>
        <ProtocolStatusId>6</ProtocolStatusId>
    </protocol>
    <Address>
        <AddressDetails>
            <AddressID>10</AddressID>
            <TerritoryFeature>11</TerritoryFeature>
            <idCodeOksm>12</idCodeOksm>
            <IdAddrType>13</IdAddrType>
            <UniqueAddress>21</UniqueAddress>
            <UniqueAddressText>22</UniqueAddressText>
            <alienCity>23</alienCity>
            <alienDistrict>24</alienDistrict>
            <alienLocality>25</alienLocality>
            <alienStreet>26</alienStreet>
            <alienHouse>27</alienHouse>
        </AddressDetails>
    </Address>
    <Customer>
        <AdditionKindId></AdditionKindId>
        <AdditionKindDate></AdditionKindDate>
        <ApplicationDate></ApplicationDate>
        <CustomerKindId></CustomerKindId>
        <DocId2></DocId2>
        <InnId></InnId>
        <OgrnId></OgrnId>
        <FullNameDetails></FullNameDetails>
        <FioFl></FioFl>
    </Customer>
</root>

Не получается выгрузить данные на xsd-карты в xml
 
Начал потихоньку разбираться, похожий макрос взял отсюда. Помогите подправить макрос. У меня получается XML файл так:
Код
<root>
    <protocol>
        <DocId>07_полный_тест_1</DocId>
        <DocCreationDate>24.09.2025</DocCreationDate>
        <DocStartDate>24.09.2025</DocStartDate>
        <DocValidityDate>24.09.2025</DocValidityDate>
        <DataStatusId>20</DataStatusId>
        <ProtocolStatusId>6</ProtocolStatusId>
    </protocol>
    <Address>
        <AddressID>10</AddressID>
        <TerritoryFeature>11</TerritoryFeature>
        <idCodeOksm>12</idCodeOksm>
        <IdAddrType>13</IdAddrType>
        <UniqueAddress>21</UniqueAddress>
        <UniqueAddressText>22</UniqueAddressText>
        <alienCity>23</alienCity>
        <alienDistrict>24</alienDistrict>
        <alienLocality>25</alienLocality>
        <alienStreet>26</alienStreet>
        <alienHouse>27</alienHouse>
    </Address>
    <Customer>
        <AdditionKindId>28</AdditionKindId>
        <AdditionKindDate>29</AdditionKindDate>
        <ApplicationDate>30</ApplicationDate>
        <CustomerKindId>31</CustomerKindId>
        <DocId2>32</DocId2>
        <InnId>33</InnId>
        <OgrnId>34</OgrnId>
        <FullNameDetails>35</FullNameDetails>
        <FioFl>36</FioFl>
    </Customer>
</root>
А нужно чтобы получилось так:
Код
<root>
<protocol>
    <DocId>07_полный_тест_1</DocId>
    <DocCreationDate>2025-09-24</DocCreationDate>
    <DocStartDate>2025-09-24</DocStartDate>
    <DocValidityDate>2025-09-24</DocValidityDate>
    <DataStatusId>20</DataStatusId>
    <ProtocolStatusId>6</ProtocolStatusId>
    <AddressID>669664</AddressID>
    <TerritoryFeature>false</TerritoryFeature>
    <Address>
        <AddressDetails>
            <idCodeOksm>122</idCodeOksm>
            <IdAddrType>3</IdAddrType>
            <UniqueAddress>true</UniqueAddress>
            <UniqueAddressText>Беларусь</UniqueAddressText>
            <alienCity>Минск</alienCity>
            <alienDistrict>Минский район</alienDistrict>
            <alienLocality>Беларусь</alienLocality>
            <alienStreet>пр. Машерова</alienStreet>
            <alienHouse>дом 15</alienHouse>
        </AddressDetails>
    </Address>
    <AdditionKindId>ЮБ/64-пр /2</AdditionKindId>
    <AdditionKindDate>2025-09-24</AdditionKindDate>
    <ApplicationDate>2025-09-24</ApplicationDate>
    <Customer>
        <CustomerKindId>40</CustomerKindId>
        <DocId>RA.RU.11НА44</DocId>
        <InnId>262400568290</InnId>
        <OgrnId>5217746034751</OgrnId>
        <FullNameDetails>Полное наименование иностранного ЮЛ</FullNameDetails>
        <FioFl>ФИО ФЛ</FioFl>
    </Customer>
    </protocol>
</root>
Не знаю как это грамотно написать, но простыми словами мне нужно в " <protocol>", вложить "<Address>" и "<Customer>". А в "<Address>" нужно вложить
"<AddressDetails>". Прошу помощи в подправке макроса. Пример прилагаю
Изменено: Voltz - 05.12.2025 23:14:04
Не получается выгрузить данные на xsd-карты в xml
 
Цитата
написал:
как должно получаться, примеры.
Дак я приложил, файл "fileProtocolLoad (3).xsd"", и что должно получиться файл "Максимум_полей_для_ИЛ_RA_RU_21АК94.xm".

Не получается выгрузить данные на xsd-карты в xml
 
Подниму, тему вверх, может кто поможет)
Не получается выгрузить данные на xsd-карты в xml
 
Цитата
написал:
Правильно понимаю что из файла Пробник.xlsm нужно сформировать файл Максимум_полей_для_ИЛ_RA_RU_21АК94.xml?
Здравствуйте, да всё верно (на основании карты "fileProtocolLoad (3).xsd")
Цитата
написал:
нужно создать отдельный файл?
Всё в одном файле, должно быть. Если Вы загрузите "файл Максимум_полей_для_ИЛ_RA_RU_21АК94.xml", в книгу то там будет несколько записей.
Не получается выгрузить данные на xsd-карты в xml
 
На форумах прочитал, и получается что стандартными средствами Excel никак не получится. Это нужно макрос, из карты "fileProtocolLoad (3).xsd", собрать "Максимум_полей_для_ИЛ_RA_RU_21АК94.xml", кто-то может помочь с этим?
Не получается выгрузить данные на xsd-карты в xml
 
Здравствуйте, очень прошу о помощи в этом вопросе!!! Так я загружаю файл с расширением ".xsd":
Открываю книгу "Пробник.xlsm"->Разработчик->Источник->Карты XML->
Добавить->Выбираю файл "fileProtocolLoad (3).xsd"->ОК->Встаю на ячейку "A1"->В окне "Источник XML"->Выбираю "root карта"->ПКМ->
Сопоставить элемент-> Жму "ОК" (подтверждаю диапазон)
Так я загружаю файл с расширением ".xsd":
Разработчик->Импорт->Выбираю файл "Максимум_полей_для_ИЛ_RA_RU_21АК94.xml"->Импорт->Данные загрузились->Корректирую данные
Потом в окне "Источник XML" есть ниже кнопка "Проверить карту для экспорта", нажимаю на неё и получаю сообщение:
Цитата
Экспорт root_карта невозможен, поскольку он содержит следующее:
• Список списков
• Невозможно сохранить отношения сопоставленного элемента с другими элементами
Или
Разработчик->Экспорт->Получаю сообщение:
Цитата
Невозможно сохранить или экспортировать XML-данные. Карты XML в этой книге не предназначены для экспорта.
Подскажите, здесь нужен только макрос, или что я делаю не так и как быть в моём случае?? ОЧЕНЬ НУЖНА ПОМОЩЬ!!!

Скопировать данные во все книги папки
 
МатросНаЗебре, спасибо Вам!!!
Скопировать данные во все книги папки
 
МатросНаЗебре, подскажите, как можно сделать, чтобы копировал и вставлял только значения?
Как макросом удалить строки из объединённых ячеек
 
МатросНаЗебре, не совсем понял, как нужно применить эту строку
Цитата
написал:
Range("A100").Resize(ActiveSheet.UsedRange.Rows.Count).UnMerge
Запуск определённых макросов через одну форму с паролем
 
Sanja, Огромнейшее спасибо, то что нужно!!!
Запуск определённых макросов через одну форму с паролем
 
БМВ, проблема
Цитата
написал:
В чем проблема то?
Проблема, как можно сделать так, чтобы нужные мне макросы можно было запускать через эту форму "UserForm1"?
Мне Не нужно запускать их последовательно или параллельно. Таких макросов может быть 10 или более. Я думал, что есть такой способ, форму с паролем прикрепить к нужным мне макросом, и запускать их по паролю. Т.е запустил "Макрос1" он запустил "UserForm1", ввёл пароль, "Макрос1" выполнился. Или запустил "Макрос2" он запустил "UserForm1", ввёл пароль, "Макрос2" выполнился. И так далее.
Запуск определённых макросов через одну форму с паролем
 
MikeVol, спасибо за ответ. Но вопрос в этом. Как можно сделать так, чтобы нужные мне макросы можно было запускать через эту форму "UserForm1"? Конечно, как вариант можно для каждого макроса создать свою форму, а можно как-то, через одну форму?
Запуск определённых макросов через одну форму с паролем
 
Здравствуйте, подскажите пожалуйста, как можно реализовать следующий момент. У меня есть определенный макросы, которые можно запускать после вводы пароля, если пароль введён верный то выполнить если нет то вывести ошибку. Я сделал это так:
Код
Sub Макрос_InputBox()
 Dim password As String
  password = InputBox("Введите пароль:") '1. Юзер указывает пароль.
  If password = "" Then '2. Если юзер щёлкнул "Cancel" или если в поле пусто, то завершение работы макроса.
        Exit Sub
    End If
   If password <> "1234" Then '3. Проверка пароля. Если пароль неправильный, то завершение работы макроса.
        MsgBox "Неправильный пароль.", vbExclamation
        Exit Sub
    End If
    '4. Если пароль правильный.
    ' Здесь действия макроса.
   Макрос1
   
End Sub
но, как сделать, чтобы пароль вводился со звёздочками?
В моём примере, есть два способа через "InputBox", но там я понимаю со "звёздочками" ни как. И через форму "UserForm1", там реализовано через "звездочки" ввод пароля. Вопрос, как можно сделать так, чтобы нужные мне макросы можно было запускать через эту форму "UserForm1"? Конечно, как вариант можно для каждого макроса создать свою форму, а можно как-то, через одну форму?
Изменено: Voltz - 11.11.2025 21:13:27
Скопировать данные во все книги папки
 
МатросНаЗебре, отлично спасибо Вам, то что нужно
Скопировать данные во все книги папки
 
МатросНаЗебре, спасибо всё работает, а что можно подправить, чтобы не всплывало окно, которое предлагает выбрать файлы, а чтобы сразу пройтись по всем файлам в папке??
Как макросом удалить строки из объединённых ячеек
 
МатросНаЗебре, я правильно Вас понял, в любой из этих кодов вместо этого: "Range("A100:A124")",
вставить это:"Range("A100").Resize(ActiveSheet.UsedRange.Rows.Count).UnMerge"
Если да, то выдаёт ошибку. Или неправильно понял?
Скопировать данные во все книги папки
 
DANIKOLA, как совместить эти два макроса не знаю.
Но я понимаю из своих возможностей что можно сделать так, исходя из этого "Вот готовый код". Записать макросом, как я в Power Query (получаю данные из файла). И вставить свой макрос в этот "Вот готовый код", который откроет каждый файл и выполнить мой макрос.

Как макросом удалить строки из объединённых ячеек
 
doober, DANIKOLA. А можно сделать с ячейки "A100" и до последних объединённых ячеек в столбце "A"?
Изменено: Voltz - 06.11.2025 08:38:47
Скопировать данные во все книги папки
 
Здравствуйте форумчане, помогите с таким вопросом. У меня есть макрос, который копирует данные из одной книги во все книги, которые указаны в макросе, а как можно сделать так, чтобы просто прописать путь к папке и макрос выполнить действия для всех файлов которые находятся в этой папке?
Код
Sub Копировать_по_журналам()
    Dim wb As Workbook, c As Range, arrWB(), w
    arrWB = Array("Журнал1.xlsm", "Журнал2.xlsm", "Журнал3.xlsm", "Журнал4.xlsm", "Журнал5.xlsm", "Журнал6.xlsm", "Журнал7.xlsm", "Журнал8.xlsm")
    With Application
       .EnableEvents = False
       .Calculation = xlCalculationManual
       .ScreenUpdating = False
       .Visible = False
         
        For Each w In arrWB

            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
Выпадающий список с поиском через форму по условию
 
Sanja, спасибо Вам ещё раз!!!
Выпадающий список с поиском через форму по условию
 
Sanja, спасибо Вам ОГРОМНОЕ, это вообще очень круто!!! Подскажите, а если я поменяю столбец "F:F" на другой где прописываю "Да", например на "H:H", где мне указать в коде это столбец, не могу понять. А так спасибо ещё раз, очень помогли.

Изменено: Voltz - 13.07.2025 15:52:26
Автоматически запускать макрос при пересчёте формул ячеек в столбце
 
Hugo, спасибо Вам!!!
Автоматически запускать макрос при пересчёте формул ячеек в столбце
 
Здравствуйте подскажите пожалуйста, как можно автоматически запустить макрос при пересчёте формул ячеек в столбце?

Как макросом определить область печати по последней заполненной строке
 
MikeVol, да спасибо то что нужно!!!
Как макросом определить область печати по последней заполненной строке
 
Как макросом определить область печати по последней заполненной строке?
Объединение значений нескольких столбцов в один столбец с помощью макроса
 
МатросНаЗебре, спасибо Вам огромнейшее))))!!!!
Объединение значений нескольких столбцов в один столбец с помощью макроса
 
МатросНаЗебре, спасибо Вашу помощь. Единственное можно, чтобы при переносе в столбец сохранялись ссылки на ячейки в формуле "B24", ну это например как, в предыдущем Вашем примере или вставлялись, значения? А так огромнейшее спасибо!!!
Объединение значений нескольких столбцов в один столбец с помощью макроса
 
Sanja, здравствуйте вот пример, код предоставил МатросНаЗебре, за что спасибо:
Код
Sub Perenos()
Const H = "H"
Dim j As Variant
Dim iLR_A As Long
Dim iLastRow As Long
  For Each j In Array(2, 4)
    iLR_A = Cells(Rows.Count, H).End(xlUp).Row + 1
    iLastRow = Cells(Rows.Count, j).End(xlUp).Row
    Range(Cells(1, j), Cells(iLastRow, j)).Cut Cells(iLR_A, H)
  Next
  iLR_A = Cells(Rows.Count, H).End(xlUp).Row
  For j = iLR_A To 1 Step -1
    If IsEmpty(Cells(j, H)) Then Rows(j).Delete
  Next
End Sub
Тут столбцы только поменял. Единственное можно подправить, чтобы столбцы копировались, и первая строка не удалялась. А так код работает, как надо
Страницы: 1 2 3 4 5 След.
Наверх