繁体   English   中英

VBA:锁定并填充Excel中选定单元格的颜色

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM