|
- Sub try1()
- Dim cnn As Object, Rst As Object, SQL$
- Dim ar, s$
- Set cnn = CreateObject("ADODB.Connection")
- cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties='Excel 12.0;HDR=NO;IMEX=1';Data Source=" & ThisWorkbook.FullName
- SQL = "select f1,f2 from [sheet1$g10:h] order by f2 desc"
- Set Rst = cnn.Execute(SQL)
- ar = Rst.getrows
- s = Join(Application.Index(ar, 1, 0), "")
- cnn.Close
- Set cnn = Nothing
- Range("g8").NumberFormat = "@"
- Range("g8") = s
- End Sub
- Sub try2()
- Dim ar As Variant, i&, j&, k&, tmp As Variant, s
- ar = Range("g10").CurrentRegion
- For i = 1 To UBound(ar) - 1
- For j = i + 1 To UBound(ar)
- If ar(j, 2) > ar(i, 2) Then
- For k = 1 To UBound(ar, 2)
- tmp = ar(j, k): ar(j, k) = ar(i, k): ar(i, k) = tmp
- Next
- End If
- Next
- Next
- Range("g8").NumberFormat = "@"
- Range("g8") = Join(Application.Transpose(Application.Index(ar, 0, 1)), "")
- End Sub
复制代码 |
|