vba排序,在excel vba 排序中,将三列数据按照规则排序,操作语言VBA。

查看: 2468|回复: 6
VBA如何才能动态的选择多列数据,并对指定的列组合进行排序?
阅读权限20
在线时间 小时
QQ截图18.jpg (27.88 KB, 下载次数: 4)
00:05 上传
大师们,请求协助,我想在sheet中,每2列数据进行排序,排序结果 互不影响,为何会报错呢?
(27.88 KB, 下载次数: 4)
00:07 上传
阅读权限95
在线时间 小时
第一行 .sort删除
阅读权限20
在线时间 小时
感谢大侠的帮助,可惜还是报错?怎么办呢?如下所示:还清大师进一步指点,,感激不尽...
QQ截图09.jpg (14.62 KB, 下载次数: 0)
21:35 上传
阅读权限20
在线时间 小时
现在上传原始附件,恳请大师进行指点,调试?感激不尽...
324324.JPG (32.62 KB, 下载次数: 6)
09:00 上传
09:01 上传
点击文件名下载附件
20.61 KB, 下载次数: 59
阅读权限95
在线时间 小时
Order1:=1代码少个1
阅读权限20
在线时间 小时
哇,怎么犯那么低级的错误啊,非常感谢大师的指点,我想顺便问一下:这里面是否有检查VBA自带的&关键字&语法的工具或者小插件啊.因为,我们这些新手,在写代码时,总是不小心就会丢三落四的...嘿嘿.如果,能有检查,并提示推荐一些关键字、词,那就完美了.
阅读权限95
在线时间 小时
这个没有,错误信息就是一种模糊提示,要善加利用
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师查看: 714|回复: 7
想把字段相同的三个EXCEL表格的数据按记录合并到一个新表中并排序,用VBA该怎么实现?
阅读权限20
在线时间 小时
本帖最后由 jdfx 于
22:38 编辑
我相把字段\格式完全相同的三个EXCEL表格中&昆东直通&工作表的记录汇总到一个新EXCEL工作表中,并按日期列进行升序排列,用VBA该怎么实现,请坛内的大虾帮助!万分感谢!资料见附件!
该贴已经同步到
22:18 上传
点击文件名下载附件
221.04 KB, 下载次数: 10
阅读权限50
在线时间 小时
& & & & & & & &
Sub 汇总()
& & Dim MyPath$, MyName$, mc$
& & Application.ScreenUpdating = False
& & Application.DisplayAlerts = False
& & [a4:k65536].ClearContents
& & MyPath = ThisWorkbook.Path & &\&
& & MyName = Dir(MyPath & &*.xls&)
& & mc = ThisWorkbook.Name
& & Do While MyName && &&
& && &&&r = Cells(Rows.Count, 3).End(xlUp).Row + 1
& && &&&If MyName && mc Then
& && && && &n = n + 1
& && && && &With GetObject(MyPath & MyName)
& && && && && & endrow = .Sheets(&昆东直通&).Cells(Rows.Count, 3).End(xlUp).Row
& && && && && & arr = .Sheets(&昆东直通&).Range(&b3&).Resize(endrow - 2, 11)
& && && && && & Range(&b& & r).Resize(UBound(arr), 11) = arr
& && && && && & Erase arr
& && && && && & .Close False
& && && && &End With
& && &&&End If
& && &&&MyName = Dir
& & Loop
& & r = Cells(Rows.Count, 3).End(xlUp).Row
& & [b4].Resize(r - 3, 11).Sort key1:=[b4], Order1:=xlAscending
& & [a4] = 1: [a5] = 2
& & [a4:a5].AutoFill Destination:=[a4].Resize(r - 3)
& & Application.ScreenUpdating = True
& & Application.DisplayAlerts = True
End Sub
复制代码
阅读权限50
在线时间 小时
附件》》》》
(235.28 KB, 下载次数: 20)
23:57 上传
点击文件名下载附件
阅读权限20
在线时间 小时
feiren228 发表于
附件》》》》
各工作薄里面还有一个站停超时的表,也想进行汇总,排序,代码该如何改,能对代码加一下注释就更好了,本人菜鸟,感谢了
阅读权限50
在线时间 小时
Sub hz()
& & Dim MyPath$, MyName$, mc$
& & Application.ScreenUpdating = False
& & Application.DisplayAlerts = False
& & [a2:k65536].ClearContents
& & MyPath = ThisWorkbook.Path & &\&
& & MyName = Dir(MyPath & &*.xls&)
& & mc = ThisWorkbook.Name
& & Do While MyName && &&
& && &&&r = Cells(Rows.Count, 3).End(xlUp).Row + 1
& && &&&If MyName && mc And MyName && &直通汇总表.xls& Then
& && && && &With GetObject(MyPath & MyName)
& && && && && & endrow = .Sheets(&站停超时&).Cells(Rows.Count, 3).End(xlUp).Row
& && && && && & If endrow = 1 Then GoTo line
& && && && && & arr = .Sheets(&站停超时&).Range(&b2&).Resize(endrow - 1, 9)
& && && && && & Range(&b& & r).Resize(UBound(arr), 9) = arr
& && && && && & Erase arr
line:
& && && && && & .Close False
& && && && &End With
& && &&&End If
& && &&&MyName = Dir
& & Loop
& & r = Cells(Rows.Count, 3).End(xlUp).Row
& & [b2].Resize(r - 1, 9).Sort key1:=[b2], Order1:=xlAscending
& & [a2] = 1: [a3] = 2
& & If r = 3 Then Exit Sub
& & [a2:a3].AutoFill Destination:=[a2].Resize(r - 1)
& & Application.ScreenUpdating = True
& & Application.DisplayAlerts = True
End Sub
复制代码
阅读权限50
在线时间 小时
附件》》》
(257.5 KB, 下载次数: 18)
17:57 上传
点击文件名下载附件
阅读权限20
在线时间 小时
& & & & & & & &
感谢大神的帮助
阅读权限50
在线时间 小时
& & & & & & & &
jdfx 发表于
感谢大神的帮助
测试》》》
(446.97 KB, 下载次数: 8)
17:11 上传
点击文件名下载附件
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师怎么自动在Excel中添加一列并按规则填入相应的值 - VBA当前位置:& &&&怎么自动在Excel中添加一列并按规则填入相应的值怎么自动在Excel中添加一列并按规则填入相应的值&&网友分享于:&&浏览:135次如何自动在Excel中添加一列并按规则填入相应的值?原表为
证券&&&&&&
- DR .&&存托
- DREQ .&&&&股票存托凭证
- USD .&&&&&&&&美元
AU&US .&&&&&&&&&&ANGLOGOLD&ASHANTI-SPON&ADR
BVN&US .&&&&&&&&&&CIA&DE&MINAS&BUENAVENTUR-ADR
EC&US .&&&&&&&&&&ECOPETROL&SA-SPONSORED&ADR
FBR&US .&&&&&&&&&&FIBRIA&CELULOSE&SA-SPON&ADR
GFI&US .&&&&&&&&&&GOLD&FIELDS&LTD-SPONS&ADR
GGB&US .&&&&&&&&&&GERDAU&SA&-SPON&ADR
LKOD&LI .&&&&&&&&&&LUKOIL&OAO-SPON&ADR
MNOD&LI .&&&&&&&&&&MMC&NORILSK&NICKEL&JSC-ADR
NLMK&LI .&&&&&&&&&&NOVOLIPET&STEEL-GDR&REG&S
OGZD&LI .&&&&&&&&&&GAZPROM&OAO-SPON&ADR
PBR&US .&&&&&&&&&&PETROLEO&BRASILEIRO&S.A.-ADR
- EQ .&&股票
- EQ01 .&&&&普通股
- AUD .&&&&&&&&澳大利亚
AMC&AU .&&&&&&&&&&AMCOR&LIMITED
BHP&AU .&&&&&&&&&&BHP&BILLITON&LTD
FMG&AU .&&&&&&&&&&FORTESCUE&METALS&GROUP&LTD
IPL&AU .&&&&&&&&&&INCITEC&PIVOT&LTD
NCM&AU .&&&&&&&&&&NEWCREST&MINING&LTD
RIO&AU .&&&&&&&&&&RIO&TINTO&LTD
WPL&AU .&&&&&&&&&&WOODSIDE&PETROLEUM&LTD
- CAD .&&&&&&&&加拿大
AEM&CN .&&&&&&&&&&AGNICO&EAGLE&MINES&LTD
AGU&CN .&&&&&&&&&&AGRIUM&INC
CNQ&CN .&&&&&&&&&&CANADIAN&NATURAL&RESOURCES
证券&&&&&&
- DR .&&存托 DR
- DREQ .&&&&股票存托凭证 DR
- USD .&&&&&&&&美元 DR
AU&US .&&&&&&&&&&ANGLOGOLD&ASHANTI-SPON&ADR DR 共&3&页:
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有输入a,b,c三个数,按照从大到小次序排序 用VBA编程做_百度知道
输入a,b,c三个数,按照从大到小次序排序 用VBA编程做
t = bPrivate Sub UserForm_Activate()
a = Val(TextBox1;&gt.Text)
If a &lt.Text)
c = Val(TextBox3.Text)
b = Val(TextBox2; & Str(b) & &quot: b = t
If a &lt: c = t
If b & & Str(a)
End Sub这个编程做出来排序是0&gt: c = t
TextBox4; b Then
t =0&& c Then
t =&&gt: a = c.Text = Str(c) & &quot: b = c: a = b
提问者采纳
t As SingleDim a1;&gt, bPrivate Sub CommandButton1_Click()D&quot, & b1 & &quot, b1; b Then
End IfEnd IfTextBox4;& b Thent = aa = bb = tEnd IfIf c & a Thena1 = cb1 = ac1 = b
If c &lt.Textc = TextBox3.Textb = TextBox2, c1 As Singlea = TextBox1.Text = a1 & &quot.TextIf a &&quot
来自团队:
其他类似问题
为您推荐:
vba的相关知识
其他3条回答
变量t 没有定义
应该怎么定义啊
integer(整型)dim b
integerdim c
integerdim t
你是所有的变量都没定义,系统默认为0
我在家userform里说当前范围内的申明重复
求完整的编码
其一:你的程序小于号&&&要全都变成大于号&&&或者大于号&&&全改成小于号&&&这样你的逻辑和结果才正确其二:不知道你的a = Val(TextBox1.Text)
b = Val(TextBox2.Text)
c = Val(TextBox3.Text)是否有问题,我vba中,我没见过这种写法,我是基于excel中的vba,当然这个写法在vb中成立三:建议你把Private Sub UserForm_Activate()改掉,基本上问题出在这写个private sub aa()
写上上面的逻辑
end sub再用command_click控件执行
可不可以基于我的编码改进下发完整的给我
在vb用可以有excel中也可以但你的vba环境我不好说以下为vb中环境画控件text1,text2,text3,text4和按钮command1控件Private function aa(byval x as integer,byval y as integer,byval z as integer)dim a,b,c,t
If a & b Then
t = a: a = b: b = t
If a & c Then
t = a: a = c: c = t
If b & c Then
t = b: b = c: c = t
Text4.Text = Str(c) & &&& & Str(b) & &&& & Str(a)
End functionprivate sub command1_click()aa text1.text,text2.text,text3.textend sub
Private Sub UserForm_Activate()
a = Val(TextBox1.Text)
b = Val(TextBox2.Text)
c = Val(TextBox3.Text)
If a = b And b = c Then
TextBox4.Text = Str(a) & &=& & Str(b) & &=& & Str(c)
If a = b Or b = c And a && c Then
If a & c Then
TextBox4.Text = Str(a) & &=& & Str(b) & &&& & Str(c)
TextBox4.Text = Str(c) & &&& & Str(b) & &=& & Str(a)
If a = c Then
If a & b Then
TextBox4.Text = Str(a) & &=& & Str(c) & &&& & Str(b)
TextBox4.Text = Str(b) & &&& & Str(a) & &=& & Str(c)
If a & b Then
这个做出来是0=0=0
你是需要0&0&0的输出结果? 以下就是没有等号的排序输出啦。例如2&2&0
0&0&0Private Sub UserForm_Activate()
a = Val(TextBox1.Text)
b = Val(TextBox2.Text)
c = Val(TextBox3.Text)
If a = b And b = c Then
TextBox4.Text = Str(a) & &&& & Str(b) & &&& & Str(c)
Exit SubElseIf a = b Or b = c And a && c ThenIf a & c Then
TextBox4.Text = Str(a) & &&& & Str(b) & &&& & Str(c)
TextBox4.Text = Str(c) & &&& & Str(b) & &&& & Str(a)
Exit SubEnd IfElseIf a = c ThenIf a & b Then
TextBox4.Text = Str(a) & &&& & Str(c) & &&& & Str(b)
Exit Sub Else
TextBox4.Text = Str(b) & &&& & Str(a) & &&& & Str(c)
End IfElse
If a & b Then
t = a: a = b: b = t
If a & c Then
t = a: a = c: c = t
If b & c Then
t = b: b = c: c = t
TextBox4.Text = Str(a) & &&& & Str(b) & &&& & Str(c)
End If End IfEnd If
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 vba 数组排序函数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信