Вставьте все ячейки в строке, которые начинаются с, в другую строку, но сжатые - PullRequest
0 голосов
/ 03 июля 2019

У меня есть необработанные данные, которые имеют большое количество столбцов. Я хочу извлечь ячейки в первом ряду, которые начинаются с Sum_Pop, например Sum_Pop2_3,N,. Затем я хочу ввести эти строки в сводную таблицу в строке 4, начиная со столбца 5. Кто-нибудь может мне помочь с кодом VBA для этой проблемы?

Необработанные данные имеют примерно 160 столбцов, и я хочу извлечь только 10-20 ячеек. Затем я хочу, чтобы они вводились в таблицу анализа по порядку, чтобы между ячейками не было пробелов, поэтому будут создаваться заголовки для ежегодного увеличения населения для каждой строки.

Я пытался использовать этот код:

Private Sub ()
    Dim qq As Integer
    Dim I As Integer

    For qq = 5 To 25
        For I = 1 To 200
            If Sheets("raw").Range("A" & I) Like "Sum_Pop*" Then
                Sheets("raw").Range("A" & I) = Sheets("analysis").Range("R4C" & qq).Value
            Else:
                Next I
            End If
        Next qq
    Next I
End Sub

1 Ответ

0 голосов
/ 03 июля 2019
Sub Macro1()
Dim ws as Worksheet, LastCol as Long, i as Long, MySel as Range

Set ws = ThisWorkbook.Sheets("raw")

With ws
    LastCol= .Cells(1, .Columns.Count).End(xlToLeft).Column
    For i = 1 to LastCol
        If .Cells(1, i) Like "Sum_Pop*" Then
            If MySel Is Nothing Then
                Set MySel = .Cells(1, i)
            Else
                Set MySel = Union(MySel, .Cells(1, i))
            End If
        End If
    Next i
End With

If Not MySel Is Nothing Then MySel.Copy _
        Destination:=ThisWorkbook.Sheets.Add.Range("E4")

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...