Страницы: 1
RSS
Перенос строки с одного листа в другие по условию
 
Здравствуйте.
Помогите в решении задачки:

Есть файл в котором нужно сделать автоматическую раскидку данных с одного листа БД в другие по одному условию соответствующего листа, попробовал сделать массивами но положил эксел напрочь, а так как таких закладок будет около 30 боюсь без макросов не обойтись.

В макросах не шарю вообще, перечитав множества статей по форумам, нашел что то похожее но не совсем, попробовал адаптировать под себя получилось коряво и не полностью,нужно доработать, без обращения к вам не справлюсь.

Условие такое: из вкладки БД по столбцу В искать значения и вставлять в соответствующие значению вкладки.
в прикрепленном файле это можно увидеть.
 
Код
Sub uuu()
    Dim a()
    Dim i&, lr&
'------------
    Application.ScreenUpdating = False
    a = Sheets("БД").UsedRange.Value
    For i = 3 To UBound(a) - 1
        On Error Resume Next
        With Sheets(a(i, 2))
            lr = .Cells(Rows.Count, 1).End(xlUp).Row + 1
            For j = 1 To UBound(a, 2)
                .Cells(lr, j) = a(i, j)
            Next
        End With
        If Err Then Err.Clear
    Next
    Application.ScreenUpdating = True
    Beep
    MsgBox "Приехали!"
End Sub
Форматирование ячеек надо сделать ручками.
 
Огромное спасибо, пока работает, буду дальше проверять
 
Немножко нужно доработать, при повторном запуске он добавляет старые значения повторно а этого ненужно, так как во вкладку БД постоянно будут добавляться новые данные.
 
Нужна помощь по макросу.
как говорилось выше  я профан в макросах, прошу помощи поправить макрос в пробнике.
проблема такая когда я добавляю новый лист другой формы в начале ничего не работает, а когда в конце работает но с предупреждением, вобщем нужно что бы он брал данные с вкладки БД, я так понимаю макрос шарит по всей книги и поэтому ругается если что то добавлено новое не той формы.
 
Вот по колхозному зато работает. Дополните код нужными столбцами по образу и подобию. Нужно иметь в виду, что данный макрос ищет точное совпадение имени вкладки и геозоны. То есть регистр букв должен совпадать. Вкладок можно добавлять сколько угодно.
Код
Sub Проба1()
конец = Sheets("БД").Cells(500000, 1).End(xlUp).Row
For Each i In Range(Sheets("БД").Cells(2, 2), Sheets("БД").Cells(конец, 2))
    Геозона = i.Value
    For Each Вкладки In ThisWorkbook.Sheets
        If Геозона = Вкладки.Name Then
            With ThisWorkbook.Sheets(Геозона)
            конецГеозона = .Cells(500000, 1).End(xlUp).Row + 1
            y = i.Offset(0, -1)
            .Cells(конецГеозона, 1) = i.Offset(0, -1)
            .Cells(конецГеозона, 2) = i
            .Cells(конецГеозона, 3) = i.Offset(0, 1)
            .Cells(конецГеозона, 4) = i.Offset(0, 2)
            'Занесите сюда все столбцы по образу и подобию как показано
            
            End With
        End If
    Next Вкладки
Next i
End Sub
Страницы: 1
Наверх