2017-10-20 6 views
1

Es gibt viele Dinge ähnlich, aber nicht genau mein Problem. Ich versuche Bereiche auf jeder Registerkarte basierend auf den Details des Tabnamens zu benennen. Ich habe die Tab-Namen in einem Blatt platziert und möchte nun benannte Bereiche basierend auf diesen Zellen definieren. Ich kann meine Bereichsnamen nicht mit einer Variablen vergleichen.Erstellen einer Liste von benannten Bereichen für jedes Blatt

Sub Test() 

    Dim x As Integer 
    Dim y As String 
    Dim YY As String 
    Dim z As String 
    Dim ZZ As String 

    For x = 1 To Worksheets.Count 

    Sheets("List of Tab Names").Activate 

    y = Cells(x, 1).Value 
    z = Cells(x, 2).Value 
    YY = y & "Data2" 
    ZZ = z & "YoA2" 


    Sheets(y).Activate 

    Range("C9:BG233").Name = " ' " & YY & " ' " 
    Range("C7:BG7").Name = " ' " & ZZ & " ' " 

    Next x 

End Sub 

Antwort

0

Sie benötigen keine einfachen Anführungszeichen um die Bereichsnamen. Versuchen Sie einfach:

Range("C9:BG233").Name = YY 
Range("C7:BG7").Name = ZZ 
+0

bekomme ich einen Lauf Zeitfehler '1004': Nachricht. Es sagt, dass ich versuche, etwas mit einem Nicht-Buchstaben oder einem Unterstrich zu benennen. Also, ich ändere den Namen der Spalte, um zu sehen, ob diese Hilfe. – user8806917

+0

Welche Werte hast du für y und z? Ich gehe davon aus, dass y genau Ihren Blattnamen entspricht, aber wenn sie Leerzeichen oder Bindestriche enthalten, führt dies zu Problemen. – Michael

+0

ah !! In den Namen der Registerkarten befinden sich Leerzeichen. Vielen Dank! – user8806917

0

Wenn ich Ihre Idee haben Recht denken, dass ich alles, was Sie vermissen die Funktion Worksheets(sheetname)

ist, wie Sie hier im Code sehen:

Range("A1:A5").Name = Worksheets("Sheet2").Range("A1") 
+0

Mein Problem ist, ich möchte alle Blätter durchlaufen und benennen. Ich muss Sheet2 in eine Schleife verwandeln. – user8806917

+0

Die Funktion 'Worksheets()' kann mit einer Ganzzahl (wie 'Worksheets (1)') verwendet werden, so dass Sie eine for-Schleife ausführen können, um alle Blätter zu durchlaufen. Oder willst du einfach nur die Blätter benennen? – amitklein

Verwandte Themen