2017-07-17 6 views
0

Ich versuche, ein Makro mit einigen Variablen zu schreiben. Insbesondere Arbeitsblattnamen. Fast jedes Mal, wenn ich innerhalb des Makros den richtigen Arbeitsblattnamen finden muss, stammen die Arbeitsblattnamen aus Zellenwerten. Wenn Sie jedoch eine Variable auf eine andere Variable verweisen, erhalten Sie einen Fehler.Zuweisen einer Reihe von Variablen zu einer anderen Variablen

Unten sehen Sie die Zuordnung der Codes. Ich bin offen für irgendwelche Vorschläge.

Vielen Dank ..

Dim pLastRow As Long 
Dim p As Integer 


    pLastRow = WorksheetFunction.Max(Worksheets(WS_All).Range("AA22:AA1100")) 
    pLastRow2 = pLastRow + 21 
     For p = 22 To pLastRow2 
       If Cells(p, 26).Value = "" Then 
        WS_1 = Worksheets(WS_All).Cells(p, 16).Value 
        WS_2 = Worksheets(WS_All).Cells(p, 19).Value 
        WS_3 = Worksheets(WS_All).Cells(p, 22).Value 
       End If 
Dim j As Long 
For j = 1 To 3 
Dim j_WS As Variant 
j_WS = "WS_" & j 
MsgBox Worksheets(j_WS).Cells(1, 1).Value 
o = 14 + j * 3 
Dim WA1 As String 
Dim WA2 As String 
Dim WA3 As String 
Gorev = Worksheets(WS_All).Cells(p, o).Value 
SlideNo = Worksheets(WS_All).Cells(p, 34).Value 
Egitim_Adi = Worksheets(WS_All).Cells(2, 3).Value 
Dim Check1 As Range 
Set Check1 = Worksheets(j_WS).Columns("A") 'Egitim_Adi Kontrolü için' 
Dim Check2 As Range 
Set Check2 = Worksheets(j_WS).Columns("B") 'SlideNo Kontrolü için' 
Dim Check3 As Range 
Set Check3 = Worksheets(j_WS).Columns("C") 'Gorev Kontrolü için' 
+0

Wie Sie sehen können, WS_1, WS_2 und WS_3 Werte stammen aus einem Arbeitsblatt namens WS_All, das ebenfalls aus einem Bereich vordefiniert ist. Was ich tun möchte, ist ein anderes Arbeitsblatt Namen basierend auf den Zeilen dieser Arbeitsblätter (WS_1 ...) haben und sie heißen WA1, WA2 und WA3. Ich möchte die WA1, WA2 und WA3 mit Bereich namens "j" verwenden und sie mit j_WS verwenden. Wenn ich den Code mit F8 ausführen, sehe ich, dass j_WS gleich WS_1 oder WS_2 ist. Aber ich möchte, dass j_WS gleich dem Wert von WS_1 ist, der ein echter Arbeitsblattname ist. – Bildircin13

Antwort

0

ich die Lösung mit der Verwendung von Array gefunden haben und unter Verwendung von 3 Fällen für WS_1, 2 und 3.

Verwandte Themen