Форматирование первых двух строк данных, извлеченных из нескольких рабочих листов, в комбинированный рабочий лист - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть книга Excel, которая состоит из 5 рабочих листов, содержащих данные, и 6-й рабочей таблицы с кнопкой, которая при нажатии извлекает данные из других 5 листов для обеспечения комбинированного просмотра.

Данные востальные 5 листов немного отличаются друг от друга, за исключением нескольких общих столбцов, поэтому я должен показывать данные в комбинированном представлении как один под другим со страной в строке 1 и заголовками в строке 2, если это возможно, жирным шрифтомдля данных, извлекаемых на каждом листе.

Я могу запустить макрос с помощью кнопки для извлечения данных, но я не могу извлечь все данные, как требуется, но по какой-то причине мой код для настройкистроки 1 и 2 для каждого листа, выделенного жирным шрифтом, не работают (приведенный ниже код показывает, как я пытаюсь получить первую строку, выделенную жирным шрифтом).

Следует иметь в виду, что объем данных на каждомлист (количество строк) может отличаться при каждом запуске макроса.

Цените любую помощь.

    Option Compare Text
    Sub OptionCompareText()
    End Sub

    Sub SearchMultipleSheets()
    Dim arr(999, 14) As Variant, r As Range
    Dim ws As Worksheet, i As Integer, s As String
        With Sheets(1)
            's = Range("b10").Value
            .Range("a13").Resize(.UsedRange.Rows.Count, UsedRange.Columns.Count).ClearContents
        End With

        For Each ws In Worksheets
            If ws.Name <> Sheets(1).Name Then
            With ws
                For Each r In .Range("a1", .Range("a" & .Rows.Count).End(xlUp))
                If r.Value & r.Offset(0, 1).Value & r.Offset(0, 2).Value & r.Offset(0, 3).Value & r.Offset(0, 4).Value _
                & r.Offset(0, 5).Value & r.Offset(0, 6).Value & r.Offset(0, 7).Value & r.Offset(0, 8).Value _
                & r.Offset(0, 9).Value & r.Offset(0, 10).Value & r.Offset(0, 11).Value & r.Offset(0, 12).Value & r.Offset(0, 13).Value _
                Like "*" & s & "*" Then
               'arr(i, 0) = ws.Name
                arr(i, 0) = r.Value
                arr(i, 1) = r.Offset(0, 1).Value
                arr(i, 2) = r.Offset(0, 2).Value
                arr(i, 3) = r.Offset(0, 3).Value
                arr(i, 4) = r.Offset(0, 4).Value
                arr(i, 5) = r.Offset(0, 5).Value
                arr(i, 6) = r.Offset(0, 6).Value
                arr(i, 7) = r.Offset(0, 7).Value
                arr(i, 8) = r.Offset(0, 8).Value
                arr(i, 9) = r.Offset(0, 9).Value
                arr(i, 10) = r.Offset(0, 10).Value
                arr(i, 11) = r.Offset(0, 11).Value
                arr(i, 12) = r.Offset(0, 12).Value
                arr(i, 13) = r.Offset(0, 13).Value
                i = i + 1
            End If
        Next r
    End With
   End If
Next ws
With Sheets(1)
    .Range("a13").Resize(i, 14).Value = arr
    For Each ws In ActiveWorkbook.Worksheets
        With ws.Rows(1)
        .Font.Bold = True
End With
    Next ws
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...