Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос копирование строки в другой файл с поиском значения - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос копирование строки в другой файл с поиском значения (Макросы/Sub)
Макрос копирование строки в другой файл с поиском значения
HidDEnATH Дата: Пятница, 05.08.2016, 11:07 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Доброго дня участников форума.
Идея такова, реализация автоматизации процесса.
Есть два файла, «База» и «СК».
«База» файл, где собираются данные которые выданы в работу.
Файл «СК» управляет контролем выполненной работы. Сканируется последовательно 3 штрих кода, номер сопроводительного листа, номер операции, и фамилию исполнителя, кол-во годных вбивается руками и наживается «Заполнить». Относительно кода операции, с помощью формул на странице, заполняются нужные столбцы в строке.
Первые 5 строк у файлов одинаковые, это заголовки столбцов.

Требуется макрос, который смог бы добавить значения из строки «6» файла «СК» в строку в файле «База», так что бы номер ячейке А6 в «СК» совпадал бы с номером ячейка в столбце А в «База», и не заменял бы существующие значения в этой строке (файла «База»), а добавлял бы из столбцов (файла «СК»), где есть значения отличные от нуля.
К сообщению приложен файл: 6564658.xlsb(87Kb) · 3504538.xlsb(30Kb)


Сообщение отредактировал HidDEnATH - Пятница, 05.08.2016, 12:17
 
Ответить
СообщениеДоброго дня участников форума.
Идея такова, реализация автоматизации процесса.
Есть два файла, «База» и «СК».
«База» файл, где собираются данные которые выданы в работу.
Файл «СК» управляет контролем выполненной работы. Сканируется последовательно 3 штрих кода, номер сопроводительного листа, номер операции, и фамилию исполнителя, кол-во годных вбивается руками и наживается «Заполнить». Относительно кода операции, с помощью формул на странице, заполняются нужные столбцы в строке.
Первые 5 строк у файлов одинаковые, это заголовки столбцов.

Требуется макрос, который смог бы добавить значения из строки «6» файла «СК» в строку в файле «База», так что бы номер ячейке А6 в «СК» совпадал бы с номером ячейка в столбце А в «База», и не заменял бы существующие значения в этой строке (файла «База»), а добавлял бы из столбцов (файла «СК»), где есть значения отличные от нуля.

Автор - HidDEnATH
Дата добавления - 05.08.2016 в 11:07
Manyasha Дата: Пятница, 05.08.2016, 11:38 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 1826
Репутация: 765 ±
Замечаний: 0% ±

Excel 2007, 2010
HidDEnATH, покажите файлы и примерный результат.


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеHidDEnATH, покажите файлы и примерный результат.

Автор - Manyasha
Дата добавления - 05.08.2016 в 11:38
lFJl Дата: Пятница, 05.08.2016, 11:52 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 231
Репутация: 5 ±
Замечаний: 0% ±

Excel 2007
HidDEnATH, задавался похожей целью, в последнем посте решение выложил. Возможно то, что вам нужно.
http://www.excelworld.ru/forum/10-26182-1
 
Ответить
СообщениеHidDEnATH, задавался похожей целью, в последнем посте решение выложил. Возможно то, что вам нужно.
http://www.excelworld.ru/forum/10-26182-1

Автор - lFJl
Дата добавления - 05.08.2016 в 11:52
HidDEnATH Дата: Пятница, 05.08.2016, 12:18 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Странно вроде файлы прикладывал, отредактировал запись.... выложил файлы.
 
Ответить
СообщениеСтранно вроде файлы прикладывал, отредактировал запись.... выложил файлы.

Автор - HidDEnATH
Дата добавления - 05.08.2016 в 12:18
Manyasha Дата: Пятница, 05.08.2016, 13:27 | Сообщение № 5
Группа: Модераторы
Ранг: Старожил
Сообщений: 1826
Репутация: 765 ±
Замечаний: 0% ±

Excel 2007, 2010
HidDEnATH, попробуйте так:
[vba]
Код
Sub copyRow()
    Application.ScreenUpdating = False
    Dim wbBase As Workbook, shSK As Worksheet
    Dim lr&, lc&, j&, r
    Set shSK = ThisWorkbook.Sheets(1)
    Set wbBase = Workbooks.Open(ThisWorkbook.Path & "\" & "base.xlsb")
    lc = shSK.Cells(6, Columns.Count).End(xlToLeft).Column
    With wbBase.Sheets(1)
        Set r = .Columns(1).Find(What:=shSK.Cells(6, 1), LookAt:=xlWhole)
        If r Is Nothing Then
            lr = .Cells(Rows.Count, 1).End(xlUp).Row + 1
        Else
            lr = r.Row
        End If
        For j = 1 To lc
            If shSK.Cells(6, j) <> 0 And .Cells(lr, j) = "" Then
                .Cells(lr, j).Value = shSK.Cells(6, j).Value
            End If
        Next j
    End With
    wbBase.Close True
End Sub
[/vba]


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеHidDEnATH, попробуйте так:
[vba]
Код
Sub copyRow()
    Application.ScreenUpdating = False
    Dim wbBase As Workbook, shSK As Worksheet
    Dim lr&, lc&, j&, r
    Set shSK = ThisWorkbook.Sheets(1)
    Set wbBase = Workbooks.Open(ThisWorkbook.Path & "\" & "base.xlsb")
    lc = shSK.Cells(6, Columns.Count).End(xlToLeft).Column
    With wbBase.Sheets(1)
        Set r = .Columns(1).Find(What:=shSK.Cells(6, 1), LookAt:=xlWhole)
        If r Is Nothing Then
            lr = .Cells(Rows.Count, 1).End(xlUp).Row + 1
        Else
            lr = r.Row
        End If
        For j = 1 To lc
            If shSK.Cells(6, j) <> 0 And .Cells(lr, j) = "" Then
                .Cells(lr, j).Value = shSK.Cells(6, j).Value
            End If
        Next j
    End With
    wbBase.Close True
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 05.08.2016 в 13:27
HidDEnATH Дата: Пятница, 05.08.2016, 14:41 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо при первом тесте все работает как надо. а главное быстрее чем было.
 
Ответить
СообщениеСпасибо при первом тесте все работает как надо. а главное быстрее чем было.

Автор - HidDEnATH
Дата добавления - 05.08.2016 в 14:41
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос копирование строки в другой файл с поиском значения (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!