对于内容范围为C4:C53工作表"尺寸选择"的每个单元格,我想创建一个新的命名范围,该范围的名称应该与该单元格的内容相同。
每个命名范围都应该是公式驱动的,并且有一个取决于单元格行的变量。
我已尝试过对此进行编码,但不断出错;你能看看并帮我解决这个问题吗?
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:F20000")) Is Nothing Then
Dim i As Integer
Dim range_name As String
For i = 4 To 53
If Sheets("Size Selection").Cells(i, 3) <> "" Then
Range(range_name).Formula = "=OFFSET('Size Selection'!$F$" & i & ", 0, 0, 1, COUNT(IF('Size Selection'!$F$" & i & ":$AZ$" & i & "="", "", 1)))"
Range(range_name).Name = Sheets("Size Selection").Cells(i, 3)
End If
Next
End If
End Sub
非常感谢你的帮助!
答案 0 :(得分:1)
根据您在下面讨论中的评论,以下是我认为您之后的评论:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:F20000")) Is Nothing Then
Dim i As Integer
Dim range_name As String
For i = 4 To 53
If Sheets("Size Selection").Cells(i, 3) <> "" Then
ActiveWorkbook.Names.Add _
Name:= Sheets("Size Selection").Cells(i, 3).Text, _
RefersToR1C1:="=OFFSET('Size Selection'!$F$" & i & ", 0, 0, 1, COUNT(IF('Size Selection'!$F$" & i & ":$AZ$" & i & "="", "", 1)))"
End If
Next
End If
End Sub
RefersToR1C1
部分可能错误,但至少现在应该对你有所了解。
希望这可以解决问题!!