[问题] 如何合并两个宏

楼主: ptty (ptty)   2018-09-19 10:03:47
软件: Excel 2016
1.如何把下面这两个宏放在一起? "宏1"跑完跑"宏2"
2.宏2要如何才能让他不锁试算表名称,不锁范围? 因为范围不一定一样, 只是想接着巨
集1后面做宏2的排序而已, 其实是同一个试算表, 不晓得如何不锁范围的接上去? 因为
每次捞出来的资料不一定一样多,锁范围就没办法每次都用同一个宏了。
求解,谢谢大家。
Sub 宏1()
'
'宏1 宏?
'
? Columns("A:A").Select
? Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
? Range("A1").Select
? ActiveCell.FormulaR1C1 = "Remark"
? Cells.Select
? Selection.RowHeight = 16.5
? Rows("1:1").Select
? Selection.AutoFilter
? Range("A2").Select
? ActiveWindow.FreezePanes = True
?
End Sub
?
Sub 宏2()
'
'宏2 宏?
'
?
'
? Cells.Select
? ActiveWorkbook.Worksheets("试算表名称").Sort.SortFields.Clear
? ActiveWorkbook.Worksheets("试算表名称").Sort.SortFields.Add Key:=Range("
J2
:J50"), _
? SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNo
rmal
? ActiveWorkbook.Worksheets("试算表名称").Sort.SortFields.Add Key:=Range("
B2
:B50"), _
? SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNo
rmal
? With ActiveWorkbook.Worksheets("试算表名称").Sort
? .SetRange Range("A1:AW50")
? .Header = xlYes
? .MatchCase = False
? .Orientation = xlTopToBottom
? .SortMethod = xlPinYin
? .Apply
? End With
? Range("A2").Select
?
End Sub
※ 编辑: ptty (42.73.116.28), 09/19/2018 10:08:25
作者: soyoso (我是耀宗)   2018-09-19 10:08:00
原文出现无法理解的词汇(乱码)
楼主: ptty (ptty)   2018-09-19 10:10:00
s大谢谢回复,我刚刚改好了
作者: soyoso (我是耀宗)   2018-09-19 10:16:00
放在一起,1跑完后跑2方面,1.将宏2的宏码复制贴于宏1宏码下方就activewindows.freezepanes..end sub的中间。如要分成二个sub(程序)的话,就于activewindows.freezepanes...下方打上 宏2 或 call 宏2不锁试算表名称的话,如果执行宏方面就在作用工作表内的话,可改以activesheeet不锁范围,资料不一定一样多而要取得最后一笔有资料的储存格的话,range.end、range.find;取列号的话可加上row范围内连续有值的话也可以工作表函数counta或count来协助
楼主: ptty (ptty)   2018-09-19 17:26:00
谢谢s大

Links booklink

Contact Us: admin [ a t ] ucptt.com