ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1806|回复: 3

[求助] 用什么语句可以实现锁定不连续的很多单元格?求助大神!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-8-1 19:32 | 显示全部楼层 |阅读模式
Sub 锁定原始表指标合计行()
Range("F16:R16,F29:R29,F42:R42,F55:R55,F68:R68,F81:R81,F94:R94,F107:R107,F120:R120,F133:R133,F146:R146,F159:R159,F172:R172,F185:R185,F198:R198,F211:R211,F224:R224,F237:R237,F250:R250,F263:R263,F276:R276,F289:R289,F302:R302,F315:R315,F328:R328,F341:R341,F354:R354,F367:R367,F380:R380,F393:R393,F406:R406,F419:R419,F432:R432,F445:R445,F458:R458,F471:R471,F484:R484,F497:R497,F510:R510,F523:R523,F536:R536,F549:R549,F562:R562,F575:R575,F588:R588,F601:R601,F614:R614,F627:R627,F640:R640,F653:R653,F666:R666,F679:R679,F692:R692,F705:R705,F718:R718,F731:R731,F744:R744,F757:R757,F770:R770,F783:R783,F796:R796,F809:R809").Select
    Selection.Locked = True
    Selection.FormulaHidden = False
End Sub
运行后会出现以下提示:
运行时错误'1004'
方法’range'作用于对象’Globle’时失败


请大神指点以上录制的宏为什么不行?问题出在哪里?如何解决。

TA的精华主题

TA的得分主题

发表于 2015-8-1 21:55 | 显示全部楼层
Sub 锁定原始表指标合计行()
dim sAddr$,rng$
sAddr="F16:R16,F29:R29,F42:R42,F55:R55,F68:R68,F81:R81,F94:R94,F107:R107,F120:R120,F133:R133,F146:R146,F159:R159,F172:R172,F185:R185,F198:R198,F211:R211,F224:R224,F237:R237,F250:R250,F263:R263,F276:R276,F289:R289,F302:R302,F315:R315,F328:R328,F341:R341,F354:R354,F367:R367,F380:R380,F393:R393,F406:R406,F419:R419,F432:R432,F445:R445,F458:R458,F471:R471,F484:R484,F497:R497,F510:R510,F523:R523,F536:R536,F549:R549,F562:R562,F575:R575,F588:R588,F601:R601,F614:R614,F627:R627,F640:R640,F653:R653,F666:R666,F679:R679,F692:R692,F705:R705,F718:R718,F731:R731,F744:R744,F757:R757,F770:R770,F783:R783,F796:R796,F809:R809"
for each rng in split(sAddr, ",")
with Range( rng)   
.Locked = True
    .FormulaHidden = False
end with
next
End Sub

TA的精华主题

TA的得分主题

发表于 2015-8-1 22:03 | 显示全部楼层
既然有规律,那就循环吧。
  1. Sub 锁定原始表指标合计行()
  2.     Dim i As Integer
  3.     For i = 16 To 809 Step 13
  4.         Range("F" & i & ":R" & i).Select
  5.         Selection.Locked = True
  6.         Selection.FormulaHidden = False
  7.     Next
  8. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2015-8-1 22:07 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
楼主真蛋藤~~
Sub 锁定原始表指标合计行()
dim rng as range
set rng=Range("F16:R16")
do while rng.row<=809
with   rng
    .Locked = True
    .FormulaHidden = False
    set rng= .offset(13)
end with
loop
End Sub
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-25 10:01 , Processed in 0.035178 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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