以下是我的vba代码,我试图获取数据并将其分配给一个单元格。现在,我需要做的就是在填充后锁定这些单元格。有很多细胞我必须这样做,我得到的只是'qa'部分在我必须填写的所有细胞名称中是相同的。所以我必须检查'qa'是否是细胞名称的一部分,如果是的话然后锁定完整的单元格并更改颜色。
ActiveWorkbook.Names("Book.aa.a.qa.qq.le.").RefersToRange = Doc.getAttribute("le")
ActiveWorkbook.Names("Book.bb.a.qa.qq.lf.").RefersToRange = Doc.getAttribute("lf")
ActiveWorkbook.Names("Book.cc.a.qa.qq.lg.").RefersToRange = Doc.getAttribute("lg")
ActiveWorkbook.Names("Book.dd.a.qa.qq.ll.").RefersToRange = Doc.getAttribute("ll")
怎么做? 请为此建议功能。 提前谢谢。
答案 0 :(得分:1)
我注意到你之前提出了几乎类似的问题。这里唯一不同的是,您明确询问名称是否包含qa
,您现在可以使用该答案中的给定详细信息来解决此问题。无论如何,我在Like
使用IF
运算符来检查相同的代码,
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)
'--change here
If strName Like "*qa*" Then
.Interior.Color = vbRed
.Locked = True
End If
End With
End If
Next
Sheet1.Protect