Saya mencoba membuat nama yang ditentukan lembar kerja "Token" dan saya membutuhkannya untuk merujuk ke nilai Variabel Access_Token. Katakanlah Access_Token = "Ini adalah Token".

Lalu saya ingin Nama yang Ditentukan diatur ke "Ini adalah Token". Saya telah mencoba kode berikut:

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

Saya bisa melakukannya sebagai berikut:

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

Tapi saya mendapatkan "Runtime 1004 Error".

Ada yang tau sintaksnya?

0
Mario Di Noia 28 Mei 2020, 12:39

1 menjawab

Jawaban Terbaik

Anda dapat mengembalikan nilai dari rentang bernama atau menetapkan nilai seperti itu

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

Untuk membuat rentang bernama

Sub CreateNamedRangeAndAssignValue()
    Dim Access_Token As String
    Access_Token = "This Is A Token"
    ActiveWorkbook.Names.Add Name:="Token", RefersToR1C1:="=""" & Access_Token & """"
End Sub

Dan jika Anda perlu memeriksa apakah rentang bernama ada atau tidak dan jika ada, buatlah

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
1
YasserKhalil 28 Mei 2020, 10:21