2016-01-19 66 views
0

我试图生成在Excel组合id_users他们有我用这个示例代码relation..so来给了我这样的结果:换行VBA代码

输入是一个透视表:

 ' id_row id_users 
     10  1 
       2 
       3 
     66  4 
       11 

这是我的输出

 'source target label 
     1   2  10 
     1   3  10 
     2   3  10 
     4   11 66 

但它给了我这样的结果:

 'source target label 
     1   2  10 
     1   3  10 
     2   1  10 
     2   3  10 
     3   1  10 
     3   2  10 
     4   11 66 
     11  4  66 

因为你看到我不想显示交换行也没关系,如果它显示重复的行..但我不想显示交换的数据.. like:1 2和2 1 它doesn这不意味着任何东西只是一个重复的信息,如:一个与B有一个关系,然后你看到B与一个有关系..它只是一个信息的重复,首先我有它... 在我的代码是这表明SQ USER_1这不等于在SQQ user_2数据的数据数组,但我也想表明,不会在透水 平方米USER_1称为数据:

  ' 
       'get the combinationsin the pivot table for this topic 
    sq = Range(rTopic, rTopic.End(xlDown).Offset(-1)).Offset(, 1).Resize(, 2).SpecialCells(2, 1).Value 

    'get the unique combinations of persons 
    sUniq = " " 
    For lUser_2 = 1 To UBound(sq, 1) 
     If InStr(sUniq, " " & sq(lUser_2, 2) & " ") = 0 Then 
      sUniq = sUniq & sq(lUser_2, 2) & " " 
     End If 
    Next 

    sqq = Split(Trim(sUniq)) 


    'loop over user id's and generate combinations 
    For lUser_1 = 1 To UBound(sq, 1) 
     For lUser_2 = 0 To UBound(sqq) 

      If sq(lUser_1, 2) & "" <> sqq(lUser_2) Then 

       'we found a new combination, output to screen 
       Range(sStartingCellOutput).Offset(lRowOffset, lColOffset).Resize(1, 3).Value = Array(sq(lUser_1, 2), sqq(lUser_2), rTopic.Value) 

       'increment the counter 
        lRowOffset = lRowOffset + 1 
        If lRowOffset >= Rows.count Then 
        lRowOffset = 0 
        lColOffset = lColOffset + 4 
       End If 
      End If 



     Next 
    Next 

我editted它解释得我code..just PLZ我需要一个samll的帮助?如果我的Q是不明确的只是对我评论...感谢

回答

0

您需要添加另一个空间的价值,你正在检查

If InStr(sUniq, " " & sq(lUser_2, 2) & " ") = 0 Then 
+0

感谢..我添加it..but它仍然是相同的..:S –