[英]VBA:Lock and fill color for selected cells in excel
以下是我的vba代码,在其中将数据填充到单元格中,我所要做的就是锁定相同的单元格并为其添加一些颜色。
//VBA:-
ActiveWorkbook.Names("book.a.").RefersToRange = doc.getAttribute("a")
ActiveWorkbook.Names("book.b.").RefersToRange = doc.getAttribute("b")
ActiveWorkbook.Names("book.c.").RefersToRange = doc.getAttribute("c")
ActiveWorkbook.Names("book.d.").RefersToRange =doc.getAttribute("d")
我要对更多的单元格执行此操作。 你有什么建议? 提前致谢。
多少个细胞? 它们是连续的吗? 如果是这样,我们可以遍历范围而不是引用命名范围。 如果不是,我们需要以某种方式构建一个名称数组-它们全都是“ book.a.”形式吗?
这可以满足您对其中一个单元的要求(您需要在解锁/修改单元之前取消保护工作表,然后在完成后再次对其进行保护):
Dim strName As String, objName As Name, strID As String
Sheet1.Unprotect
For Each objName In ActiveWorkbook.Names
strName = objName.Name
If InStr(1, strName, "book", vbTextCompare) > 0 Then
strID = Mid(strName, InStr(1, strName, ".", vbTextCompare) + 1, 1)
With ActiveWorkbook.Names(strName).RefersToRange
.Value = doc.getAttribute(strID)
.Interior.Color = vbRed
.Locked = True
End With
End If
Next
Sheet1.Protect
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.