Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2443|回复: 6

[已解决]下标越界的问题!!!

[复制链接]
发表于 2013-3-27 13:32 | 显示全部楼层 |阅读模式
在调试时一到With Workbooks("最后一步").Sheets(1)
下一句就下标越界,是为什么呢?

Public Sub HideDone()
Dim s1 As String, i As Long, j As Long, k As Long, l As Integer
h1 = WindowFromPoint(95, 56)
j = Range(ActiveCell, Cells(65535, ActiveCell.Column)).End(xlDown).Row
k = ActiveCell.Row
If ld1 = 0 Then ld1 = k
If ld1 <= j Then
    With Workbooks("最后一步").Sheets(1)
    s1 = .Cells(ld1, ActiveCell.Column).Value
    SendMessage h1, WM_SETTEXT, 0, ByVal s1
    .Cells(ld1, ActiveCell.Column + 1).Value = ld1 + 1 - k
    End With
    wsh.SendKeys "{f3}"
    Sleep 400
    wsh.SendKeys "%{s}"
    Sleep 400
    SendMessage h2, CB_SHOWDROPDOWN, True, 0&
    SendMessage h2, CB_SETCURSEL, 1&, 0&
    'Sleep 300
    'wsh.SendKeys "{f5}"
    'Sleep 300
    'wsh.SendKeys " "
End If
ld1 = ld1 + 1
End Sub
最佳答案
2013-3-27 13:35
  1. With Workbooks("最后一步.xls").Sheets(1)
复制代码
或者你写全。

最后一步.rar

19.55 KB, 下载次数: 13

发表于 2013-3-27 13:34 | 显示全部楼层
  1.     With Workbooks(thisworkbook.name).Sheets(1)
复制代码
回复

使用道具 举报

发表于 2013-3-27 13:34 | 显示全部楼层
直接用    With thisworkbook.Sheets(1) 就行了。
回复

使用道具 举报

发表于 2013-3-27 13:35 | 显示全部楼层
WORKBOOK.NAME是以文件名为准的。
回复

使用道具 举报

发表于 2013-3-27 13:35 | 显示全部楼层    本楼为最佳答案   
  1. With Workbooks("最后一步.xls").Sheets(1)
复制代码
或者你写全。
回复

使用道具 举报

 楼主| 发表于 2013-3-27 13:40 | 显示全部楼层
hwc2ycy 发表于 2013-3-27 13:35
或者你写全。

我之前那样在公司也可以用,
但家里电脑和别人电脑就下标越界,
是为什么?版本不一样吗
回复

使用道具 举报

发表于 2013-3-27 14:14 | 显示全部楼层
你再看看,是不是设置了错误忽略了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-24 13:59 , Processed in 0.318180 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表