Присвоение значения переменной определенному имени - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь создать на листе определенное имя «Токен», и мне нужно, чтобы оно ссылалось на значение переменной Access_Token. Допустим, Access_Token = «Это токен».

Тогда я бы хотел, чтобы определенное имя было установлено на «Это токен». Я пробовал следующий код:

ActiveWorkbook.Names.Add Name:="Token", RefersTo:=Access_Token

Я могу сделать это следующим образом:

ActiveWorkbook.Names.Add Name:="Token", RefersTo:="=This is a Token"

Но я получаю «Runtime 1004 Error».

Кто-нибудь знаете синтаксис?

1 Ответ

1 голос
/ 28 мая 2020

Вы можете вернуть значение из именованного диапазона или присвоить такое значение

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...