注册 登录
编程论坛 VB6论坛

请高手帮忙看看,谢谢

lx5656 发布于 2015-05-20 10:01, 834 次点击
Private Sub Command2_Click()
 Dim EXAPP As Excel.Application
 Dim WB As Excel.Workbook
 Dim sht As Excel.Worksheet
 Set EXAPP = CreateObject("excel.application")
 Set WB = EXAPP.Workbooks.Open("d:\成绩表.xls")
 Set sht = WB.Worksheets("总表")
 sht.Range("U3").Select
    ActiveCell.FormulaR1C1 = "=RANK(RC[-1],R3C20:R800C20)"
    sht.Range("U3").Select
    Selection.AutoFill Destination:=Range("U3:U800"), Type:=xlFillDefault
 'WB.Save'保存编辑后的文件
 WB.Close
 Set sht = Nothing
 Set WB = Nothing
 Set EXAPP = Nothing
End Sub
运算过程中红色部分出错,请高手帮忙看看
13 回复
#2
HVB62015-05-20 10:26
回复 楼主 lx5656
Private Sub Command2_Click()
Dim EXAPP As Excel.Application
Dim WB As Excel.Workbook
Dim sht As Excel.Worksheet
Set EXAPP = CreateObject("excel.application")
Set WB = EXAPP.Workbooks.Open("d:\成绩表.xls")
Set sht = WB.Worksheets("总表")
sht.Range("U3").Select
    sht.ActiveCell.FormulaR1C1 = "=RANK(RC[-1],R3C20:R800C20)"
    sht.Range("U3").Select
    Selection.AutoFill Destination:=Range("U3:U800"), Type:=xlFillDefault
'WB.Save'保存编辑后的文件
WB.Close
Set sht = Nothing
Set WB = Nothing
Set EXAPP = Nothing
End Sub
#3
lx56562015-05-20 10:30
还是提示错误。。
#4
lx56562015-05-20 10:33
提示ActiveCell错误
#5
HVB62015-05-20 11:07
回复 4楼 lx5656
Private Sub Command2_Click()
Dim EXAPP As Excel.Application
Dim WB As Excel.Workbook
Dim sht As Excel.Worksheet
Set EXAPP = CreateObject("excel.application")
Set WB = EXAPP.Workbooks.Open("d:\成绩表.xls")
Set sht = WB.Worksheets("总表")
sht.Range("U3").Activate
    sht.Range("U3").FormulaR1C1 = "=RANK(RC[-1],R3C20:R800C20)"
    sht.Range("U3").AutoFill Destination:=Range("U3:U800"), Type:=xlFillDefault
'WB.Save'保存编辑后的文件
WB.Close
Set sht = Nothing
Set WB = Nothing
Set EXAPP = Nothing
End Sub
#6
lx56562015-05-20 11:08
谢谢我测试下
#7
lx56562015-05-20 11:13
谢谢测试过了,能不能问下,问题出在哪里了?
#8
HVB62015-05-20 11:34
回复 7楼 lx5656
在vb中使用vba,不要使用这样的组合语句
    sht.Range("U3").Select
    Selection.AutoFill Destination:=Range("U3:U800"), Type:=xlFillDefault
 Selection的前面无对象是不对的,
因此,应使用这样的组合语句
sht.Range("U3").Activate
    sht.Range("U3").AutoFill Destination:=Range("U3:U800"), Type:=xlFillDefault

#9
lx56562015-05-20 11:46
高手哪里有类似这样的基础教本,我能看的学习一下,也是一个提高
#10
lx56562015-05-20 11:52
sht.Range("U3").Activate
    sht.Range("U3").AutoFill Destination:=Range("U3:U800"), Type:=xlFillDefault
高手这句换是有点问题
#11
HVB62015-05-20 11:54
回复 9楼 lx5656
没有看到过一本书,论述在vb中使用vba的,只能在实践中提高。
#12
lx56562015-05-20 12:20
回复 8楼 HVB6
sht.Range("U3").Activate
    sht.Range("U3").AutoFill Destination:=Range("U3:U800"), Type:=xlFillDefault
高手这句换是有点问题
#13
HVB62015-05-20 15:10
回复 12楼 lx5656
sht.Range("U3").Activate
    sht.Range("U3").AutoFill Destination:= sht.Range("U3:U800"), Type:=xlFillDefault
#14
lx56562015-05-20 15:47
谢谢老大,我咋感觉我就是个小白。谢谢你对我的帮助
1