宏以对转置范围进行排序或排序

时间:2018-08-22 14:15:18

标签: excel vba excel-vba

我有一个试图创建报告的数千个ID的列表。我从原始数据集开始,并根据相似的产品将ID缩小为单独的范围。现在,我需要创建每个特定范围内所有ID的列表,以便可以将相似的ID彼此连接。我已经能够复制每个范围并根据每个部分的ID数对其进行转置。

042269322152220     042269322152220 781747080822220 783936070022220
781747080822220     042269322152220 781747080822220 783936070022220
783936070022220     042269322152220 781747080822220 783936070022220

我仍然遇到的唯一问题是,我需要转置数据的每一行都不同。

042269322152220     042269322152220 781747080822220 783936070022220
781747080822220     781747080822220 783936070022220 042269322152220
783936070022220     783936070022220 042269322152220 781747080822220

我的想法只是将每个对应的行作为每行中的第一个ID,然后列出从活动单元格到该范围其余部分的其余范围,直到返回到该单元格为止。到目前为止,我的代码看起来像这样,以使我现在处于现在的位置。

Sub TradeData2()
Dim x As Long
Dim cell As Object

For x = 2 To 40
    If Cells(x, 4) = "" Then
        Cells(x, 5) = ActiveCell.Offset(-2, -1)
    Else
            Cells.Find(What:="=A:A", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
        If Cells(x, 4) <> "" Then
            ActiveCell.CurrentRegion.Copy
                Cells(x, 6).Select
            ActiveCell.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
        End If
    End If
Next x
End Sub

这只是我文件的一小部分。这个特定的示例只有3个ID,但是我的某些产品范围具有多达70个相似的产品ID。

对于如何对这些行进行排序或排序的任何想法或正确方向将不胜感激。谢谢。

0 个答案:

没有答案