我目前需要从适合特定配置文件的关联表中提取单元格值,例如“< 0.6”。如果不是因为我正在运行> 4,000个项目的相关系数,这可能是一个足够简单的手动任务。输出的想法是创建另一个表,其中一个连接列显示所涉及的项目,另一个列包含这些项目的相关性值。
我认为VBA将是可行的方式,但也许还有一些其他更快更简单的方式可以忽略。
非常感谢任何帮助!
提前致谢:)
答案 0 :(得分:0)
Sub extract()
Worksheets("Matrix").Select
Range("A1").Select
Dim Row As Long
Dim Col As Long
x = 1
y = 1
i = 0
Worksheets("Paste").Cells.ClearContents
Worksheets("Paste").Range("A1") = "X"
Worksheets("Paste").Range("B1") = "Y"
Worksheets("Paste").Range("C1") = "Value"
Worksheets("Matrix").Activate
Row = Worksheets("Matrix").Range("A1", Worksheets("Matrix").Range("A1").End(xlDown)).Rows.Count
Col = Worksheets("Matrix").Range("A1", Worksheets("Matrix").Range("A1").End(xlToRight)).Columns.Count
If Row <> Col Then
MsgBox "ERROR: Matrix is not symmetrical, can't be a correlation matrix"
Exit Sub
End If
For x = 1 To Row
For y = 1 To Col
If Cells(y, x) > 1 Then
Cells(y, x).Copy
Worksheets("pegar").Range("C2").Offset(RowOffset:=i).PasteSpecial xlPasteValues
Worksheets("paste").Range("B2").Offset(RowOffset:=i).Value = y
Worksheets("paste").Range("A2").Offset(RowOffset:=i).Value = x
i = i + 1
End If
Next y
Next x
Worksheets("paste").Select
MsgBox "values extracted"
End Sub