Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1579|回复: 6

[已解决]窗体名次排列

[复制链接]
发表于 2013-6-30 09:07 | 显示全部楼层 |阅读模式
根据名次排列.zip (44.89 KB, 下载次数: 21)
发表于 2013-6-30 09:29 | 显示全部楼层    本楼为最佳答案   
  1. Private Sub CommandButton1_Click()
  2.     Dim k As Long
  3.     Dim strTemp As String
  4.     Dim i As Long
  5.     Dim j As Long

  6.     With ListView1
  7.         For i = .ListItems.Count To 1 Step -1
  8.             If .ListItems(i).SubItems(8) Like "[1-8]" Then
  9.                 k = .ListItems(i).SubItems(8)
  10.                 If i <> k Then
  11.                     strTemp = .ListItems(i).Text
  12.                     .ListItems(i).Text = .ListItems(k).Text
  13.                     .ListItems(k).Text = strTemp
  14.                     For j = 1 To .ColumnHeaders.Count - 1
  15.                         strTemp = .ListItems(i).SubItems(j)
  16.                         .ListItems(i).SubItems(j) = .ListItems(k).SubItems(j)
  17.                         .ListItems(k).SubItems(j) = strTemp
  18.                     Next

  19.                 End If
  20.             End If
  21.         Next
  22.     End With
  23. End Sub
复制代码
回复

使用道具 举报

发表于 2013-6-30 09:29 | 显示全部楼层
LISTVIEW里好像没有MOVE之类的方法,只有循环挪位了
回复

使用道具 举报

 楼主| 发表于 2013-6-30 09:44 | 显示全部楼层
hwc2ycy 发表于 2013-6-30 09:29

请问老师: 是否先提取名次,然后再排序!谢谢!
回复

使用道具 举报

发表于 2013-6-30 10:01 | 显示全部楼层
你可以自己试下。
回复

使用道具 举报

发表于 2013-7-1 17:53 | 显示全部楼层
不用那么麻烦,listview控件本身就有排序功能
  1. Private Sub CommandButton1_Click()
  2.    With ListView1
  3.       .Sorted = True
  4.       .SortKey = 7
  5.       .SortOrder = 1
  6.    End With
  7. End Sub
复制代码
回复

使用道具 举报

发表于 2013-7-7 20:24 | 显示全部楼层
dongqing1998 发表于 2013-7-1 17:53
不用那么麻烦,listview控件本身就有排序功能

这个排序是文本排序的吧?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 08:34 , Processed in 0.298813 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表