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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос строки на другой лист по значению ячейки (Формулы/Formulas)
Перенос строки на другой лист по значению ячейки
Andrius Дата: Понедельник, 13.03.2017, 21:46 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Всем форумчанам и знатокам Экселя, привет!
Нужен макрос-скрипт.
В таблице есть столбцы №1 и №2. И в них появляются числа от 0 до 2.
Требуется перенести строку, если в одном из столбцов появилось число 2.
Перенос нужен сделать в лист соответствующий нумерации столбца ( №1 или №2).
Там уже есть готовая таблица под приём новых строк статы.
Кнопку я заранее сделал, под прикрепление Макрос-скрипта.

P.S. Желательно обойтись без фильтрации в этих столбцах и дальнейшего КопиПаста..
К сообщению приложен файл: 4923846.xls (30.5 Kb)
 
Ответить
СообщениеВсем форумчанам и знатокам Экселя, привет!
Нужен макрос-скрипт.
В таблице есть столбцы №1 и №2. И в них появляются числа от 0 до 2.
Требуется перенести строку, если в одном из столбцов появилось число 2.
Перенос нужен сделать в лист соответствующий нумерации столбца ( №1 или №2).
Там уже есть готовая таблица под приём новых строк статы.
Кнопку я заранее сделал, под прикрепление Макрос-скрипта.

P.S. Желательно обойтись без фильтрации в этих столбцах и дальнейшего КопиПаста..

Автор - Andrius
Дата добавления - 13.03.2017 в 21:46
Manyasha Дата: Понедельник, 13.03.2017, 22:01 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
Andrius, здравствуйте, так подойдет?
[vba]
Код
Sub copyData()
    Dim sh As Worksheet
    Dim lr1&, lr2&
    lr1 = Cells(Rows.Count, 1).End(xlUp).Row
    'Если старые данные стирать не нужно, то убрать следующий 2 строчки
    ThisWorkbook.Sheets("№1").Cells(1, 1).CurrentRegion.Offset(1).ClearContents
    ThisWorkbook.Sheets("№2").Cells(1, 1).CurrentRegion.Offset(1).ClearContents
    For i = 2 To lr1
        If Cells(i, 1) = 2 Then
            Set sh = ThisWorkbook.Sheets("№1")
        ElseIf Cells(i, 2) = 2 Then
            Set sh = ThisWorkbook.Sheets("№2")
        End If
        If Not sh Is Nothing Then
            With sh
                lr2 = .Cells(Rows.Count, 1).End(xlUp).Row + 1
                .Cells(lr2, 1).Resize(, 7).Value = Cells(i, 3).Resize(, 7).Value
            End With
        End If
        Set sh = Nothing
    Next i
End Sub
[/vba]
К сообщению приложен файл: 4923846-1.xls (44.5 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеAndrius, здравствуйте, так подойдет?
[vba]
Код
Sub copyData()
    Dim sh As Worksheet
    Dim lr1&, lr2&
    lr1 = Cells(Rows.Count, 1).End(xlUp).Row
    'Если старые данные стирать не нужно, то убрать следующий 2 строчки
    ThisWorkbook.Sheets("№1").Cells(1, 1).CurrentRegion.Offset(1).ClearContents
    ThisWorkbook.Sheets("№2").Cells(1, 1).CurrentRegion.Offset(1).ClearContents
    For i = 2 To lr1
        If Cells(i, 1) = 2 Then
            Set sh = ThisWorkbook.Sheets("№1")
        ElseIf Cells(i, 2) = 2 Then
            Set sh = ThisWorkbook.Sheets("№2")
        End If
        If Not sh Is Nothing Then
            With sh
                lr2 = .Cells(Rows.Count, 1).End(xlUp).Row + 1
                .Cells(lr2, 1).Resize(, 7).Value = Cells(i, 3).Resize(, 7).Value
            End With
        End If
        Set sh = Nothing
    Next i
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 13.03.2017 в 22:01
Andrius Дата: Понедельник, 13.03.2017, 22:05 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Manyasha, спасибо вам БОЛЬШОЕ!
Всё очень БЫСТРО и профессионально сделано. Задача решена на 100%!!!
ОЧЕНЬ выручили.


Сообщение отредактировал Andrius - Понедельник, 13.03.2017, 22:06
 
Ответить
СообщениеManyasha, спасибо вам БОЛЬШОЕ!
Всё очень БЫСТРО и профессионально сделано. Задача решена на 100%!!!
ОЧЕНЬ выручили.

Автор - Andrius
Дата добавления - 13.03.2017 в 22:05
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос строки на другой лист по значению ячейки (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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