我正在尝试匹配F列(第2页)
带有A列(表格1)。
以便获取记录
我有一个VBA方法-
Sub matchAndSortSort()
Dim st As Worksheet
Dim rw As Long
Set st = Sheets("Sheet4")
rw = st.UsedRange.Rows.Count
For i = 2 To rw
st.Cells(i, 125).Value = "=MATCH(F" & i & ",$A$2:$A$" & rw & ",0)"
Next
Range("F2:V" & rw).Sort Key1:=Range("G2:V" & rw), Order1:=xlAscending
Range("H2:H" & rw).Clear
Set st = Nothing
End Sub
这给了我匹配的输出,但没有考虑空白单元格。
如何跳过空白单元格并将所有匹配的行值恰好放在A列值的前面?
答案 0 :(得分:0)
要跳过空白值,可以使用以下两个之一:
For i = 2 To rw
If Len(st.Cells(i, 125).Value) > 0 Then 'If the length of the cell is greater than 0 then proceed, otherwise skip
st.Cells(i, 125).Value = "=MATCH(F" & i & ",$A$2:$A$" & rw & ",0)"
End if
Next
或者这也应该起作用:
For i = 2 To rw
If Trim(st.Cells(i, 125).Value) <> "" Then 'Remove trailing spaces or end spaces then proceed, otherwise skip
st.Cells(i, 125).Value = "=MATCH(F" & i & ",$A$2:$A$" & rw & ",0)"
End if
Next
您对我的问题的第二部分不了解,也许其他人可以继续进行该部分:)
“ &&将所有匹配的行值精确地放在A列值的前面吗?”