首页 > 解决方案 > 将一行中以, 开头的所有单元格插入不同的行但已压缩

问题描述

我有包含大量列的原始数据。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

标签: excelvba

解决方案


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

推荐阅读