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'
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