Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: lkk0063

[已解决]密码保护问题

[复制链接]
发表于 2017-4-6 11:43 | 显示全部楼层    本楼为最佳答案   
本帖最后由 大灰狼1976 于 2017-4-6 11:48 编辑

不好意思,我只看了你上面的三行代码,实际上在文件中,三行代码下面还有一行:
Sheets("11").Protect AllowFiltering:=True
它实际上是一个完整的保护工作表代码,相当于重新保护了一次,并且是不加密码的。
你要把两句合并一下:Sheets("11").Protect Password:="1", AllowFiltering:=True
回复

使用道具 举报

 楼主| 发表于 2017-4-6 12:38 | 显示全部楼层
本帖最后由 lkk0063 于 2017-4-6 12:42 编辑
大灰狼1976 发表于 2017-4-6 11:43
不好意思,我只看了你上面的三行代码,实际上在文件中,三行代码下面还有一行:
Sheets("11").Protect All ...

你好,
可以了,当Sheet"11"如果已经秀出所有资料时, 会出现错误,如下图
1.jpg

回复

使用道具 举报

发表于 2017-4-6 12:47 | 显示全部楼层
那个错误是由于sheet("11")原本就处于全部显示状态,再让他全部显示就会出错。
If Sheets("11").AutoFilterMode = True Then Sheets("11").ShowAllData
改成
Sheets("11").[a5].AutoFilter field:=1
回复

使用道具 举报

 楼主| 发表于 2017-4-6 13:22 | 显示全部楼层
大灰狼1976 发表于 2017-4-6 12:47
那个错误是由于sheet("11")原本就处于全部显示状态,再让他全部显示就会出错。
If Sheets("11").AutoFilte ...


你好,
改完后, 发现批号无法卡重复批号了
1.jpg
Function twolots() As Boolean
    Dim d, arr, i, lotno, xrr
    Set d = CreateObject("scripting.dictionary")
    arr = Sheets("CC").Range("a1:a" & Sheets("CC").[a65536].End(3).Row)
     For i = 5 To UBound(arr)
        d(CStr(arr(i, 1))) = ""
    Next
     xrr = Split(Me.Range("G2").Value, "-")
    '=====================================================
    If [g2] <> "" Then lotno = IIf(UBound(xrr) = 1, xrr(0) & "-" & xrr(1), xrr(0))
    '=====================================================
    If d.exists(lotno) Then MsgBox "twolots, pls check!": twolots = True
End Function

回复

使用道具 举报

发表于 2017-4-6 13:42 | 显示全部楼层
我只是有针对性的解决你的问题,并不对你的程序进行全面剖析,所以如果由于修改此处引起其他的问题,
需要自行调试修改,在修改过程中不明白的地方再发贴问,这样比较好。
回复

使用道具 举报

 楼主| 发表于 2017-4-6 13:47 | 显示全部楼层
大灰狼1976 发表于 2017-4-6 13:42
我只是有针对性的解决你的问题,并不对你的程序进行全面剖析,所以如果由于修改此处引起其他的问题,
需要 ...

好的, 谢谢协助
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 12:17 , Processed in 0.298210 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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