Excel精英培训网

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

我的07版插入按钮是灰色的

[复制链接]
发表于 2019-11-8 15:08 | 显示全部楼层 |阅读模式
我也碰到类似问题,开发工具下的插入按钮是灰色,请教如何解决,见附件

2019年表1.zip

371.08 KB, 下载次数: 6

发表于 2019-11-8 16:03 | 显示全部楼层
大兄嘚,有句话不知道当讲不当讲,你这个工作表是有保护的呀,禁止更改了,肯定灰色的咯喂
QQ图片20191108155606.png
回复

使用道具 举报

 楼主| 发表于 2019-11-8 16:44 | 显示全部楼层
已经解除了工作表保护,但问题依然出现
回复

使用道具 举报

发表于 2019-11-8 17:10 | 显示全部楼层
本帖最后由 sub麻辣君 于 2019-11-8 17:11 编辑
suajzu2019 发表于 2019-11-8 16:44
已经解除了工作表保护,但问题依然出现

你没有发现你的凭证这个表的Selectionchange事件的代码里面好多地方都有加密代码么,表格解不了密,解了马上就加密

111.jpg

如果只是偶尔需要插入更改些东西的话,你可以在改的时候把代码注释了,改完再放注释
回复

使用道具 举报

发表于 2019-11-8 18:04 | 显示全部楼层
本帖最后由 砂海 于 2019-11-8 18:06 编辑

还可以 加个总开关 ,
代码中 根据 开关状态 决定 是否 执行 保护工作表 .在 open 事件中 , 开关 复位. 就 避免 忘记 保护.


回复

使用道具 举报

 楼主| 发表于 2019-11-10 10:20 | 显示全部楼层
谢谢两位的作答
回复

使用道具 举报

 楼主| 发表于 2019-11-10 10:22 | 显示全部楼层
下面的选定改变是只要改变就触发了?整个宏删除对表的影响不大吗?,下面宏的大意是?


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   
   Dim r As Long
   Dim temps As String
   Dim l As Long
   
   On Error Resume Next
   If ecgx = 1 Then Exit Sub
   ecgx = 1
   If ActiveSheet.Name <> "凭证" Then
   dqrow = 0
   dqcol = 0
   ecgx = 0
   Exit Sub
   End If
   
   rrrrrrrrr = dqrow '记录之前行
   
   r = rrrrrrrrr
   l = dqcol
If r < 5 Then
   dqcol = ActiveCell.Column
   dqrow = ActiveCell.Row
   
   rrrrrrrrr = dqrow '记录之前行
   r = rrrrrrrrr
   
   
   If dqrow < 5 Then
   ecgx = 0
   Unload kmxxfrm
   Exit Sub
   End If
   
   If dqcol = 7 Or dqcol = 10 Then
   ecgx = 0
   jckmbm
  ' pzsr dqrow
   ecgx = 1
   End If
  

   Sheets("凭证").Unprotect Password:="1"
   temps = "g" & dqrow & ":" & "q" & dqrow
   Range(temps).Interior.ColorIndex = 38
   Sheets("凭证").Protect Password:="1"
   If kmxxfrm.Visible = True Then
      Call skmxx
    End If
   ecgx = 0
   Exit Sub
   
Else
   ecgx = 0
   jckmbm  '检查科目编码
   ecgx = 1
   temps = "g" & dqrow & ":" & "q" & dqrow
   Sheets("凭证").Unprotect Password:="1"
   Range(temps).Interior.ColorIndex = xlNone
   dqcol = ActiveCell.Column
   dqrow = ActiveCell.Row
   If dqrow < 5 Then
   Sheets("凭证").Protect Password:="1"
   ecgx = 0
   Unload kmxxfrm
   Exit Sub
   End If
  ' If dqcol = 7 Or dqcol = 10 Then
  
   
   
  ' pzsr dqrow
   
   
  ' End If
   If Cells(r, 13) <> "" And Cells(r, 15) <> "" Then Cells(r, 16) = VBA.Round(Cells(r, 13) / Cells(r, 15), 4)
   If Cells(r, 14) <> "" And Cells(r, 15) <> "" Then Cells(r, 16) = VBA.Round(Cells(r, 14) / Cells(r, 15), 4)
   temps = "g" & dqrow & ":" & "q" & dqrow
   Range(temps).Interior.ColorIndex = 38
   Sheets("凭证").Protect Password:="1"
   If kmxxfrm.Visible = True Then
      Call skmxx
    End If
End If
   
   ecgx = 0
   dqcol = ActiveCell.Column
   dqrow = ActiveCell.Row
End Sub
回复

使用道具 举报

 楼主| 发表于 2019-11-10 10:28 | 显示全部楼层
我将上面的宏删除了,问题依然存在,出现不能插入对象
回复

使用道具 举报

发表于 2019-11-10 11:17 | 显示全部楼层
本帖最后由 sub麻辣君 于 2019-11-10 11:19 编辑
suajzu2019 发表于 2019-11-10 10:28
我将上面的宏删除了,问题依然存在,出现不能插入对象

不用删除呢,你那里面不止这一个事件,删了还有别的事件呀,集体注释下就好了,代码太多我不太喜欢看别人代码,你要修改啥的改完再集体把注释去掉就好了,应该会的吧,VBE工具栏上有一键加注释的
00002.jpg

2019年表1.zip

370.18 KB, 下载次数: 1

回复

使用道具 举报

 楼主| 发表于 2019-11-10 14:10 | 显示全部楼层
可能是我的版本问题,全部一键加注释后依然插入不了ActiveX控件
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 20:27 , Processed in 0.482034 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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