셀이 단어 "kit"로 시작하는 경우 범위의 첫 번째 셀의 처음 7자를 명명 된 범위 이름으로 설정하려고합니다. 여기 셀 내용을 명명 된 범위 이름으로 설정하는 VBA
내가 지금까지 무엇을 가지고 : 기본적으로Sub DefineRanges()
Dim rngStart As Range
Set rngStart = Range("A1")
Dim LastRow As Integer
Dim RangeName As String
For Each cell In Range("A2:A7")
If LCase(Left(cell.Value, 3)) = "kit" Then
RangeName = LCase(Left(cell.Value, 7))
ActiveWorkbook.Names.Add _
Name:=RangeName, _
RefersToLocal:=Range(rngStart.Address & ":C" & cell.Row - 1)
Set rngStart = Range("A" & cell.Row)
End If
LastRow = cell.Row
Next
RangeName = LCase(Left(cell.Value, 7))
ActiveWorkbook.Names.Add _
Name:=RangeName, _
RefersToLocal:=Range(rngStart.Address & ":C" & LastRow)
End Sub
은 내가, 내 전체 범위를 통해 보는 단어 "키트"로 시작하는 모든 세포를 찾으려면, 그에서가는 명명 된 범위를 만들 셀을 "키트"로 시작하는 다음 셀까지 추가하고 해당 셀의 처음 7자를 범위 이름으로 지정하십시오. 지금까지 범위를 만들 수 있었지만 셀의 내용을 범위 이름에 전달하려고 할 때 문제가 발생합니다. 어떤 아이디어?
어떤 오류 메시지가와있는 줄 수 있습니까? – QHarr
그냥 400 오류 메시지를 제공합니다. RangeName = LCase (Left (cell.Value, 7)) 문제가있는 것 같습니다. 나는 그것이 다른 셀에 출력을 붙여 넣기 때문에 변수를 설정한다는 것을 알고있다. 그러나 어떤 이유로 변수 이름에 변수를 전달하지 않을 것이다. – user3047983
루프 밖에서'cell'을 참조하려고한다. 오류. –