Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2018, 10:34   #11
Alex_Dom
Пользователь
 
Регистрация: 23.11.2018
Сообщений: 21
По умолчанию

Супер.
Вот теперь то что нужно!
Только пятую строку закоментил: CreateXML Worksheets(1)
иначе ошибку выдавал.
Alex_Dom вне форума Ответить с цитированием
Старый 03.12.2018, 10:46   #12
Alex_Dom
Пользователь
 
Регистрация: 23.11.2018
Сообщений: 21
По умолчанию

Еще момент.
Если в базу штампов добавить строки, скрипт их игнорирует.
Как бы сделать loop по всем строкам вниз до пустой?
Alex_Dom вне форума Ответить с цитированием
Старый 03.12.2018, 10:53   #13
Alex_Dom
Пользователь
 
Регистрация: 23.11.2018
Сообщений: 21
По умолчанию

Простите.
Туплю.
Всё работает.
Alex_Dom вне форума Ответить с цитированием
Старый 03.12.2018, 11:32   #14
Alex_Dom
Пользователь
 
Регистрация: 23.11.2018
Сообщений: 21
По умолчанию

Всё очень даже отлично работает.
Пытаюсь добавить параметров штампу в таблице штампов (добавить колонок), а номер штампа на бланке опустить до B4
Я так понял, за параметры штампа отвечают строки:
Код:
    With ash
        iCnt = 1
        Do While .Cells(1, iCnt) <> ""
            For iRng = 1 To UBound(rngInput, 1)
                If rngInput(iRng, 1) = .Cells(1, iCnt) Then
                    .Cells(2, iCnt) = rngInput(iRng, 2)
                    .Cells(3, iCnt) = rngInput(iRng, 3)
                    .Cells(4, iCnt) = rngInput(iRng, 4)
Если в базе столбцы добавить, то нужно строки ниже дописать
.Cells(столбец, iCnt) = rngInput(iRng, столбец)

А какой код отвечает за расположение номера штампа на бланке?
Alex_Dom вне форума Ответить с цитированием
Старый 03.12.2018, 13:26   #15
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от Alex_Dom Посмотреть сообщение
Если в базе столбцы добавить, то нужно строки ниже дописать
.Cells(столбец, iCnt) = rngInput(iRng, столбец)
+


Цитата:
Сообщение от Alex_Dom Посмотреть сообщение
А какой код отвечает за расположение номера штампа на бланке?
Код:
 Do While .Cells(1, iCnt) <> "" ...
1 - первая строка
4 - четвертая строка
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 03.12.2018, 17:15   #16
Alex_Dom
Пользователь
 
Регистрация: 23.11.2018
Сообщений: 21
По умолчанию

Я так и подумал что эта строка, но поменяв на
Код:
        Do While .Cells(4, iCnt) <> ""
Скрипт перестаёт вообще результат выдавать.
Alex_Dom вне форума Ответить с цитированием
Старый 03.12.2018, 17:29   #17
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
If rngInput(iRng, 1) = .Cells(4, iCnt) Then
?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 04.12.2018, 09:48   #18
Alex_Dom
Пользователь
 
Регистрация: 23.11.2018
Сообщений: 21
По умолчанию

Нет, не работает
https://yadi.sk/d/hYhcdQllGEeq7Q
Alex_Dom вне форума Ответить с цитированием
Старый 04.12.2018, 12:30   #19
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
Do While Trim(.Cells(4, iCnt)) <> ""
            For iRng = 1 To UBound(rngInput, 1)
                If rngInput(iRng, 1) = .Cells(4, iCnt) Then 'Номер штампа в бланке в ячейке B4
                    .Cells(5, iCnt) = rngInput(iRng, 2)
                    .Cells(6, iCnt) = rngInput(iRng, 3)
                    .Cells(7, iCnt) = rngInput(iRng, 4)
                    .Cells(8, iCnt) = rngInput(iRng, 5)
                    .Cells(9, iCnt) = rngInput(iRng, 6)
                    .Cells(12, iCnt) = rngInput(iRng, 7)
                    .Cells(13, iCnt) = rngInput(iRng, 8)
                    .Cells(14, iCnt) = rngInput(iRng, 9)
                    .Cells(15, iCnt) = rngInput(iRng, 10)
                    .Cells(16, iCnt) = rngInput(iRng, 11)
                    .Cells(17, iCnt) = rngInput(iRng, 12)
                    Exit For
                End If
            Next iRng
            iCnt = iCnt + 1
        Loop
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 04.12.2018, 13:13   #20
Alex_Dom
Пользователь
 
Регистрация: 23.11.2018
Сообщений: 21
По умолчанию

Так вот в чём дело то было!
Спасибо большое.

П.С.
Вопрос по VBA. Не подскажете, можно ли вместо того что бы указывать адрес ячейки Cells(X, Y), указывать имя ячейки?
Alex_Dom вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Свод нескольких файлов Excel в один Ирина3434 Помощь студентам 0 27.09.2017 10:42
Свод нескольких файлов Excel в один 2 AnnaVild Microsoft Office Excel 12 25.11.2016 13:03
Выгрузка данных из Excel в XML (vba макрос?) allaire Microsoft Office Excel 1 04.05.2012 14:40
Выгрузка данных из Excel в XML (vba макрос?) allaire Microsoft Office Excel 2 04.05.2012 09:52
Cуммировать нескольких файлов Excel в один cassiopeya Microsoft Office Excel 9 01.11.2011 22:29