m88 188bet uedbet 威廉希尔 明升 bwin 明升88 bodog bwin 明升m88.com 18luck 188bet unibet unibet Ladbrokes Ladbrokes casino m88明升 明升 明升 m88.com 188bet m88 明陞 uedbet赫塔菲官网 365bet官网 m88 help

bwin官网网

 找回暗码
 注册

QQ登录

只需一步,快速开端

你正在寻觅更好的Excel学习教程吗?Excel技巧80集+数据透视表+bwin平台初中高全套+VBA80集,想学的这儿全都有
检查: 9287|回复: 14
打印 上一主题 下一主题

[求助] 怎么用VBA躲藏确定指定单元格区域的公式?

[仿制链接]
跳转到指定楼层
1楼
宣布于 2013-3-31 10:48 | 只看该作者 回帖奖赏 |倒序阅览 |阅览形式
bwin官网的微信渠道,每天都会发送excel学习教程和材料。扫一扫明日就能够收到新教程
如题:
比如要躲藏确定B13:I22和B31:I37单元格区域内的公式,关于这个区域内的没有公式的单元格就不要躲藏和确定了。

请问高手这个能不能处理呢?
共享到:  QQ老友和群QQ老友和群
保藏保藏
2楼
宣布于 2013-3-31 11:13 | 只看该作者
3楼
 楼主| 宣布于 2013-3-31 11:16 | 只看该作者
lisachen 宣布于 2013-3-31 11:13
自己录一个宏就处理了

要在VBA里输入暗码。
4楼
宣布于 2013-3-31 11:17 | 只看该作者
  1. Sub ni()
  2. Dim a%, b%
  3. For a = 2 To 9
  4. For b = 13 To 37
  5. If (b <= 22) Or (b >= 31) Then
  6.     If Cells(b, a).HasFormula = True Then
  7.     Cells(b, a).Select
  8.     Selection.Locked = True
  9.     Selection.FormulaHidden = True
  10.     End If
  11. End If
  12. Next
  13. Next
  14. End Sub
仿制代码
以上代码即可,断定区域行数用b表明,列数用a表明
5楼
宣布于 2013-3-31 11:20 | 只看该作者
  1. Sub ni()
  2. Dim a%, b%
  3. For a = 2 To 9
  4. For b = 13 To 37
  5. If (b <= 22) Or (b >= 31) Then
  6.     If Cells(b, a).HasFormula = True Then
  7.     Cells(b, a).Select
  8.     Selection.Locked = True
  9.     Selection.FormulaHidden = True
  10.     Else: Cells(b, a).Select
  11.     Selection.Locked = False
  12.     Selection.FormulaHidden = False
  13.     End If
  14. End If
  15. Next
  16. Next
  17. End Sub
仿制代码
刚刚没看清标题,代码追加了断定无公式不躲藏和不维护的功用
6楼
 楼主| 宣布于 2013-3-31 11:23 | 只看该作者
1114550349 宣布于 2013-3-31 11:17
以上代码即可,断定区域行数用b表明,列数用a表明

能不能在VBA里设修正蜜码呢,这段是躲藏和确定。假如自己想依据暗码免除,最好能跳出个输入暗码免除躲藏和确定的功用,
这个放到模块里用,对所用作业表起作用。
7楼
宣布于 2013-3-31 11:25 | 只看该作者
  1. Sub 宏2()
  2.     Cells.Select
  3.     Selection.Locked = False
  4.     Selection.FormulaHidden = False
  5.     Union(Range("B13:I22"), Range("B31:I37")).Select
  6.     Selection.SpecialCells(xlCellTypeFormulas, 23).Select
  7.     Selection.Locked = True
  8.     Selection.FormulaHidden = True
  9.     ActiveSheet.Protect Password:="123", DrawingObjects:=True, Contents:=True, Scenarios:=True
  10. End Sub
仿制代码
8楼
 楼主| 宣布于 2013-3-31 11:29 | 只看该作者
本帖最后由 simonshaw 于 2013-3-31 11:31 修改
lisachen 宣布于 2013-3-31 11:25

这段代码可操作性比上面的好。我试试看。

暗码是不是能够输入任何字符?有没有位数约束?
9楼
宣布于 2013-3-31 11:35 | 只看该作者
这样试试

  1. Sub CC()
  2.     With Sheets("Sheet1")   '指定要操作的表
  3.         .Unprotect      '免除作业表维护
  4.         With .Cells     '操作一切单元格
  5.             .Locked = False     '撤销确定
  6.             .FormulaHidden = False      '撤销躲藏单公式
  7.             With .SpecialCells(xlCellTypeFormulas, 23)      '定位公式
  8.                 .Locked = True          '确定单元格
  9.                 .FormulaHidden = True   '躲藏公式
  10.             End With
  11.         End With
  12.         .Protect        '维护作业表
  13.     End With
  14. End Sub
仿制代码
10楼
宣布于 2013-3-31 11:35 | 只看该作者
simonshaw 宣布于 2013-3-31 11:29
这段代码可操作性比上面的好。我试试看。

暗码是不是能够输入任何字符?有没有位数约束?

先试试  再说吧   
您需求登录后才能够回帖 登录 | 注册

本版积分规矩

小黑屋|手机版|Archiver|bwin官网 ( 豫ICP备11015029号 )

GMT+8, 2019-7-22 02:16 , Processed in 0.080000 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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