【发布时间】:2017-10-17 16:01:35
【问题描述】:
晚上好,
我一直在编写的一些代码遇到了一些问题,想知道是否有人可以帮助我。
我有一个 Excel 工作表,我需要使用 Vlookup 自动添加框大小,然后锁定单元格,除非选择了“其他”,如果公式已被删除,则替换它们。一切都在完美地分别为每一行编写代码。但是,我需要运行 700 多行,而且我不会写出 700 次,因为那太荒谬了。我尝试了各种循环来解决这个问题,但我被卡住了。
有人可以告诉我如何有效地运行 x 行吗? 因此,这对于第 11 行非常有效,并且当写入 x 次时,它适用于多行。当显示解决方案时,我可能会踢自己,这太令人沮丧了。
Private Sub lock_repair(ByVal Target As Range)
'Box 1
ActiveSheet.Unprotect Password:="pass"
If Target.Cells(1).Address = "$C$11" And Target.Cells(1).Value <> "OTHER" Then
Range("D11").Formula = "=IFERROR(VLOOKUP(C11, Data!$D$5:$G$24, 2,FALSE),0)"
Range("E11").Formula = "=IFERROR(VLOOKUP(C11, Data!$D$5:$G$24, 3,FALSE),0)"
Range("F11").Formula = "=IFERROR(VLOOKUP(C11, Data!$D$5:$G$24, 4,FALSE),0)"
ActiveSheet.Range("D11:F11").Locked = True
ElseIf Target.Cells(1).Address = "$C$11" And Target.Cells(1).Value = "OTHER" Then
ActiveSheet.Range("D11:F11").Locked = False
End If
ActiveSheet.Protect Password:="pass", UserInterfaceOnly:=True
End Sub
提前干杯。 戴夫
【问题讨论】: