Вы можете вернуть значение из именованного диапазона или присвоить такое значение
Sub ReturnValueFromNamedRange()
MsgBox Replace(Replace(ThisWorkbook.Names("MyNamedRange").Value, "=", vbNullString), Chr(34), vbNullString)
End Sub
Sub AssignValueToNamedRange()
ThisWorkbook.Names("MyNamedRange").Value = "YasserKhalil"
End Sub
Sub AssignValueToNamedRangeByVariable()
Dim Access_Token As String
Access_Token = "This Is A Token"
ThisWorkbook.Names("MyNamedRange").Value = Access_Token
End Sub
Чтобы создать именованный диапазон
Sub CreateNamedRangeAndAssignValue()
Dim Access_Token As String
Access_Token = "This Is A Token"
ActiveWorkbook.Names.Add Name:="Token", RefersToR1C1:="=""" & Access_Token & """"
End Sub
И если вам нужно проверить, существует ли именованный диапазон или нет, и если существует, создайте его
Sub CheckIfNamedRangeExistsCreateIfNot()
Dim obj As Object, sName As String, sValue As String
sName = "Token"
sValue = "This Is A Token"
On Error Resume Next
Set obj = ThisWorkbook.Names(sName)
On Error GoTo 0
If Not obj Is Nothing Then
MsgBox "Named Range Exists And Its Value = " & Replace(Replace(ThisWorkbook.Names(sName).Value, "=", vbNullString), Chr(34), vbNullString), 64
Else
ActiveWorkbook.Names.Add Name:=sName, RefersToR1C1:="=""" & sValue & """"
MsgBox "Named Range Created", 64
End If
End Sub