Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

应用EXCEL宏排序

白发学者  发表于:2013-03-30 12:21:32  
复制

在EXECL录制到排序宏代码:

Sub Macro1()
'
' Macro1 Macro
' 宏由 User 录制,时间: 2013/3/30
'

'
    Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:=xlSortNormal
End Sub

求:如何用OBJect的办法写到ACCESS里?

 

Top
煮江品茶 发表于:2013-03-30 20:37:06

dim obj as object

set obj=CreateObject("Excel.Application")

obj.Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:=xlSortNormal

 



白发学者 发表于:2013-03-31 16:47:05

Range("A3"),   提示:编译错误,子过程或函数未定义。

改为:obj.Range("A3"), 没有错误提示,但程序停在这行不动了,整个语句显**。



白发学者 发表于:2013-03-31 16:48:07
整个语句显黄底色。

煮江品茶 发表于:2013-03-31 18:11:07
dim obj as object

set obj=CreateObject("Excel.Application")

obj.Selection.Sort Key1:=obj.Range("A3"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:=xlSortNormal



白发学者 发表于:2013-03-31 19:08:06

就是这样语句出现:运行时错误 '1004' 类  Range 的 Sort 方法无效

整个语句显黄底色



白发学者 发表于:2013-03-31 19:12:04

按调试后

 



煮江品茶 发表于:2013-04-01 13:16:48

由于Excel对象是后期绑定的,可能后面几个参数要用具体的数字表示。假设xlAscending对应的是1的话,那就要用1表示,而不能用xlAscending表示。具体各个参数都是什么数字,需要到Excel的宏中,通过F1查看。

最好的解决方法,是用先期绑定,这样可以避免这个问题。



殷小宝 发表于:2013-04-01 16:33:19

 Dim objbook As Object
 Dim obj As Object      

 Set obj = CreateObject("Excel.Application")
       

 Set objbook = obj.Workbooks.Open(CurrentProject.Path & "\二○一三年查治病登记簿")
       

 obj.Worksheets("查病名单").Select

obj.Selection.Sort Key1:=obj.Range("A3"), Order1:=xlAscending, Header:=xlGuess, _
 OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:=xlSortNormal



白发学者 发表于:2013-04-02 19:19:16

太棒了:对应数字



总记录:9篇  页次:1/1 9 1 :