我正在尝试从按行组织的 excel 文件中建立边缘关系,
A,B,C,
D,E
目的是从每一行创建关系:
甲,乙
A,C
公元前
我有以下代码,问题是当行长度相等时代码是有效的,但例如对于上面的行,它也会创建以下边缘(关系):
D,""
E、“”
这为大型数据集带来了大问题。我想知道是否有人可以帮助我调整代码以创建边缘列表的方式,直到每行中的单元格被填充。如果有任何其他方法可以更有效地做到这一点,将不胜感激。
非常感谢,会很有帮助的。
我的代码:
Sub Transform()
Dim targetRowNumber As Long
targetRowNumber = Selection.Rows(Selection.Rows.Count).Row + 2
Dim col1 As Variant
Dim cell As Range
Dim colCounter As Long
Dim colCounter2 As Long
Dim sourceRow As Range: For Each sourceRow In Selection.Rows
For colCounter = 1 To Selection.Columns.Count - 1
col1 = sourceRow.Cells(colCounter).Value
For colCounter2 = colCounter + 1 To Selection.Columns.Count
Set cell = sourceRow.Cells(, colCounter2)
If Not cell.Column = Selection.Column Then
Selection.Worksheet.Cells(targetRowNumber, 1) = col1
Selection.Worksheet.Cells(targetRowNumber, 2) = cell.Value
targetRowNumber = targetRowNumber + 1
End If
Next colCounter2
Next colCounter
Next sourceRow
End Sub