我的Excel包含三列数据。我想通过VB实现排序功能
Sub Sort1()
ActiveSheet.Sort.SortFields.Clear
ActiveSheet.Sort.SortFields.Add Key:=Range("A2:A" & Range("A1").CurrentRegion.Rows.Count) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveSheet.Sort.SortFields.Add Key:=Range("B2:B" & Range("A1").CurrentRegion.Rows.Count) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveSheet.Sort
.SetRange Range("A1:C" & Range("A1").CurrentRegion.Rows.Count)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
VB数组排序问题
如果在excel表格的A列中依次输入0-11共12个数字,在B列中对应地输入12个随机数,然后按B列排一下序,A列中的数字就变成随机排列的了
在这里使用同样的思路,只不过把二维表格换成二维数组即可,代码如下:
Dim Matrix(0 To 11, 0 To 1) As Single
Dim i As Integer, j As Integer
Dim sngTemp As Single
Randomize
'初始化数组,使每“行”第一个数字为行号,第二个数字为随机大小的数字
For i = 0 To 11
Matrix(i, 0) = i
Matrix(i, 1) = Rnd(100)
Next
Text1.Text = ""
'由于数组较小,这里使用冒泡排序,依次筛选出第N大的数字并显示到Text1中
For i = 0 To 11
For j = i + 1 To 11
If Matrix(j, 1) > Matrix(i, 1) Then
sngTemp = Matrix(i, 1)
Matrix(i, 1) = Matrix(j, 1)
Matrix(j, 1) = sngTemp
sngTemp = Matrix(i, 0)
Matrix(i, 0) = Matrix(j, 0)
Matrix(j, 0) = sngTemp
End If
Next
Text1.Text = Text1.Text & vbCrLf & Matrix(i, 0)
Next
EXCEL VBA宏语言排序问题附有图片
问题1
Private Sub CommandButton1_Click()
Dim i, j As Long
Sheets("sheet2").Cells.ClearContents
Sheets("sheet1").Cells.Copy
Sheets("sheet2").Select
Sheets("sheet2").Range("A1").Select
ActiveSheet.Paste
i = 3
Do While Sheets("sheet2").Range("A" & i).Value ""
For j = 2 To i - 1
If Sheets("sheet2").Range("A" & i).Value > Sheets("sheet2").Range("A" & j).Value Then
Else
Sheets("sheet2").Rows(i & ":" & i).Cut
Sheets("sheet2").Rows(j & ":" & j).Insert Shift:=xlDown
Exit For
End If
Next j
i = i + 1
Loop
End Sub
问题2
Private Sub CommandButton1_Click()
Dim i, j As Long
Sheets("sheet2").Cells.ClearContents
Sheets("sheet1").Cells.Copy
Sheets("sheet2").Select
Sheets("sheet2").Range("A1").Select
ActiveSheet.Paste
i = 3
Do While Sheets("sheet2").Range("A" & i).Value ""
For j = 2 To i - 1
If Sheets("sheet2").Range("C" & i).Value & Sheets("sheet2").Range("D" & i).Value > Sheets("sheet2").Range("C" & j).Value & Sheets("sheet2").Range("D" & j).Value Then
Else
Sheets("sheet2").Rows(i & ":" & i).Cut
Sheets("sheet2").Rows(j & ":" & j).Insert Shift:=xlDown
Exit For
End If
Next j
i = i + 1
Loop
End Sub
以上是我的Excel包含三列数据的详细内容。更多信息请关注PHP中文网其他相关文章!

本教程探讨了在Excel中创建直方图的三种不同方法:利用分析工具Pak的直方图工具,采用频率或计功能以及使用PivotCharts。 在Excel中创建基本图表的同时是Strai

该综合指南提供了分步说明,用于在Microsoft Outlook中创建和管理专业电子邮件签名。 了解如何在所有Outlook版本中使用图像,可点击链接等制作引人入胜的签名(I

本教程演示了如何使用Autosum功能和列,行和选定范围的自定义总和公式计算Excel中的总和。 它还涵盖仅求和可见的单元格,计算跑步总计,跨多个纸总结

该简洁的指南解释了Excel的Autosum功能及其有效用途。学会快速汇总列,行或可见单元格,并对常见的自动库问题进行故障排除。 Excel的总和功能非常受欢迎,促使Microsoft包括DED

本文介绍了Excel Switch函数,解释其语法并演示其在简化嵌套IF语句中的复合物中的用途。 如果您在公式中挣扎着冗长的嵌套,则开关功能提供了重要的时间

该简洁的指南演示了如何使用具有策略上放置的绝对和相对细胞参考的总和公式在Excel中有效计算运行总计(累积总和)。 运行总计将数据集的累积总和显示为

您是否正在寻找一个计算单元格中字符的Excel公式?如果是这样,那么您肯定已经落在正确的页面上。本简短的教程将教您如何使用LEN函数来计算Excel,与之计算字符

本教程演示了如何使用LEN,替代和装饰函数的组合来计数Excel中的单词。 它提供了对案例敏感和对病例不敏感的公式,用于计算单元或范围内的总单词或特定单词/文本


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

Dreamweaver CS6
视觉化网页开发工具