Option Explicit
Sub test()
Dim A2 As Variant
Dim i As Long
A2 = Sheets("Platzierungen").Range("A2").Value
'und dann beispielhaft:
For i = 2 To 19
If A2 = Sheets("Tabellen").Cells(i, 5) And _
Sheets("Tabellen").Cells(i, 8) = Sheets("Platzierungen").Range("C1") Then
Sheets("Platzierungen").Cells(i, 3) = Sheets("Tabellen").Cells(i, 4)
End If
Next
End Sub
So weit mal vorab, vielleicht kannst Du ja ne Datei hochladen.Sub zuordnung()
Dim A2 As Variant
Dim i_von&, i_bis&, block&, i&, i_von2&
A2 = Sheets("Platzierungen").Range("A2").Value
For i = 2 To 19 ' erste, schräge Schleife außen vor ********************
If Sheets("Platzierungen").Range("A2") = Sheets("Tabellen").Cells(i, 5) And Sheets("Tabellen"). _
Cells(i, 8) = Sheets("Platzierungen").Range("C1") Then
Sheets("Platzierungen").Cells(i, 3) = Sheets("Tabellen").Cells(i, 4)
End If
Next ' *******************************************************
For block = 1 To 33
i_von = block * 19 + 2
i_von2 = i_von - 2
i_bis = i_von + 17
' Range("G" & 8 + block) = i_von war nur zum Test
' Range("H" & 8 + block) = i_bis
For i = i_von To i_bis
If A2 = Sheets("Tabellen").Cells(i, 5).Value And _
Sheets("Tabellen").Cells(i, 8) = _
Sheets("Platzierungen").Range("C1").Offset(0, block) Then
Sheets("Platzierungen").Cells(i - i_von2, 4) = _
Sheets("Tabellen").Cells(i, 4)
End If
Next
Next
End Sub
Aber bitte nur mit einer Kopie Deiner Daten! Ich konnte es ja schlecht testen.
For i = 21 To 38
If Sheets("Platzierungen").Range("A2") = Sheets("Tabellen").Cells(i, 5) And Sheets("Tabellen"). _
Cells(i, 8) = Sheets("Platzierungen").Range("D1") Then
Sheets("Platzierungen").Cells(i - 19, 4) = Sheets("Tabellen").Cells(i, 4)
End If
Next
1. Schleife: Sheets("Platzierungen").Cells(i, 3) = Sheets("Tabellen").Cells(i, 4)
weitere : Sheets("Platzierungen").Cells(i - 19, 4) = Sheets("Tabellen").Cells(i, 4)
und hier liegt der Knackpunkt, hier, gleich ^^^^^^^
Sub zuordnung()
Dim A2 As Variant
Dim i_von&, i_bis&, block&, i&, i_von2&
A2 = Sheets("Platzierungen").Range("A2").Value
For i = 2 To 19 ' erste, schräge Schleife außen vor ********************
If Sheets("Platzierungen").Range("A2") = Sheets("Tabellen").Cells(i, 5) And Sheets("Tabellen"). _
_
Cells(i, 8) = Sheets("Platzierungen").Range("C1") Then
Sheets("Platzierungen").Cells(i, 3) = Sheets("Tabellen").Cells(i, 4)
End If
Next ' *******************************************************
For block = 1 To 33
i_von = block * 19 + 2
i_von2 = i_von - 2
i_bis = i_von + 17
' Range("G" & 8 + block) = i_von war nur zum Test
' Range("H" & 8 + block) = i_bis
For i = i_von To i_bis
If A2 = Sheets("Tabellen").Cells(i, 5).Value And _
Sheets("Tabellen").Cells(i, 8) = _
Sheets("Platzierungen").Range("C1").Offset(0, block) Then
Sheets("Platzierungen").Cells(i - i_von2, 3 + block) = _
Sheets("Tabellen").Cells(i, 4)
End If
Next
Next
End Sub
Dim lngI As Long, lngJ As Long, lngN As Long, lngM As Long
Dim objTab As Worksheet
lngM = 3
Set objTab = Sheets("Tabellen")
With Sheets("Platzierungen")
For lngJ = 2 To 629 Step 19
For lngI = lngJ To lngJ + 17
If .Range("A2") = objTab.Cells(lngI, 5) And objTab.Cells(lngI, 8) = .Cells(1, lngM) Then
.Cells(lngI - lngN, 3) = objTab.Cells(lngI, 4)
End If
Next
lngN = lngN + 19
lngM = lngM + 1
Next
End With
Dim lngI As Long, lngJ As Long, lngN As Long, lngM As Long
Dim objTab As Worksheet
lngM = 3
Set objTab = Sheets("Tabellen")
With Sheets("Platzierungen")
For lngJ = 2 To 629 Step 19
For lngI = lngJ To lngJ + 17
If .Range("A2") = objTab.Cells(lngI, 5) And objTab.Cells(lngI, 8) = .Cells(1, lngM) Then
.Cells(lngI - lngN, lngM) = objTab.Cells(lngI, 4)
End If
Next
lngN = lngN + 19
lngM = lngM + 1
Next
End With
Sub tt()
Dim j As Long, i As Long
Dim wsP As Worksheet, wsTab As Worksheet
Dim A As Variant
Set wsP = Sheets("Platzierungen")
Set wsTab = Sheets("Tabellen")
A = wsTab.Cells(2, 1)
For i = 2 To 646
If i Mod 19 = 1 Then
j = j + 1
Else
If A = wsTab.Cells(i, 5) Then
If wsTab.Cells(i, 8) = wsP.Cells(1, j + 3) Then
If j = 0 Then
wsP.Cells(i, j + 3) = wsTab.Cells(i, 4)
Else
wsP.Cells(2, j + 3) = wsTab.Cells(i, 4)
End If
End If
End If
Next
End Sub
Gruß Gerd
Option Explicit
Sub test()
Dim A2 As Variant
Dim i As Long
A2 = Sheets("Platzierungen").Range("A2").Value
'und dann beispielhaft:
For i = 2 To 19
If A2 = Sheets("Tabellen").Cells(i, 5) And _
Sheets("Tabellen").Cells(i, 8) = Sheets("Platzierungen").Range("C1") Then
Sheets("Platzierungen").Cells(i, 3) = Sheets("Tabellen").Cells(i, 4)
End If
Next
End Sub
So weit mal vorab, vielleicht kannst Du ja ne Datei hochladen.Sub zuordnung()
Dim A2 As Variant
Dim i_von&, i_bis&, block&, i&, i_von2&
A2 = Sheets("Platzierungen").Range("A2").Value
For i = 2 To 19 ' erste, schräge Schleife außen vor ********************
If Sheets("Platzierungen").Range("A2") = Sheets("Tabellen").Cells(i, 5) And Sheets("Tabellen"). _
Cells(i, 8) = Sheets("Platzierungen").Range("C1") Then
Sheets("Platzierungen").Cells(i, 3) = Sheets("Tabellen").Cells(i, 4)
End If
Next ' *******************************************************
For block = 1 To 33
i_von = block * 19 + 2
i_von2 = i_von - 2
i_bis = i_von + 17
' Range("G" & 8 + block) = i_von war nur zum Test
' Range("H" & 8 + block) = i_bis
For i = i_von To i_bis
If A2 = Sheets("Tabellen").Cells(i, 5).Value And _
Sheets("Tabellen").Cells(i, 8) = _
Sheets("Platzierungen").Range("C1").Offset(0, block) Then
Sheets("Platzierungen").Cells(i - i_von2, 4) = _
Sheets("Tabellen").Cells(i, 4)
End If
Next
Next
End Sub
Aber bitte nur mit einer Kopie Deiner Daten! Ich konnte es ja schlecht testen.
For i = 21 To 38
If Sheets("Platzierungen").Range("A2") = Sheets("Tabellen").Cells(i, 5) And Sheets("Tabellen"). _
Cells(i, 8) = Sheets("Platzierungen").Range("D1") Then
Sheets("Platzierungen").Cells(i - 19, 4) = Sheets("Tabellen").Cells(i, 4)
End If
Next
1. Schleife: Sheets("Platzierungen").Cells(i, 3) = Sheets("Tabellen").Cells(i, 4)
weitere : Sheets("Platzierungen").Cells(i - 19, 4) = Sheets("Tabellen").Cells(i, 4)
und hier liegt der Knackpunkt, hier, gleich ^^^^^^^
Sub zuordnung()
Dim A2 As Variant
Dim i_von&, i_bis&, block&, i&, i_von2&
A2 = Sheets("Platzierungen").Range("A2").Value
For i = 2 To 19 ' erste, schräge Schleife außen vor ********************
If Sheets("Platzierungen").Range("A2") = Sheets("Tabellen").Cells(i, 5) And Sheets("Tabellen"). _
_
Cells(i, 8) = Sheets("Platzierungen").Range("C1") Then
Sheets("Platzierungen").Cells(i, 3) = Sheets("Tabellen").Cells(i, 4)
End If
Next ' *******************************************************
For block = 1 To 33
i_von = block * 19 + 2
i_von2 = i_von - 2
i_bis = i_von + 17
' Range("G" & 8 + block) = i_von war nur zum Test
' Range("H" & 8 + block) = i_bis
For i = i_von To i_bis
If A2 = Sheets("Tabellen").Cells(i, 5).Value And _
Sheets("Tabellen").Cells(i, 8) = _
Sheets("Platzierungen").Range("C1").Offset(0, block) Then
Sheets("Platzierungen").Cells(i - i_von2, 3 + block) = _
Sheets("Tabellen").Cells(i, 4)
End If
Next
Next
End Sub
Dim lngI As Long, lngJ As Long, lngN As Long, lngM As Long
Dim objTab As Worksheet
lngM = 3
Set objTab = Sheets("Tabellen")
With Sheets("Platzierungen")
For lngJ = 2 To 629 Step 19
For lngI = lngJ To lngJ + 17
If .Range("A2") = objTab.Cells(lngI, 5) And objTab.Cells(lngI, 8) = .Cells(1, lngM) Then
.Cells(lngI - lngN, 3) = objTab.Cells(lngI, 4)
End If
Next
lngN = lngN + 19
lngM = lngM + 1
Next
End With
Dim lngI As Long, lngJ As Long, lngN As Long, lngM As Long
Dim objTab As Worksheet
lngM = 3
Set objTab = Sheets("Tabellen")
With Sheets("Platzierungen")
For lngJ = 2 To 629 Step 19
For lngI = lngJ To lngJ + 17
If .Range("A2") = objTab.Cells(lngI, 5) And objTab.Cells(lngI, 8) = .Cells(1, lngM) Then
.Cells(lngI - lngN, lngM) = objTab.Cells(lngI, 4)
End If
Next
lngN = lngN + 19
lngM = lngM + 1
Next
End With
Sub tt()
Dim j As Long, i As Long
Dim wsP As Worksheet, wsTab As Worksheet
Dim A As Variant
Set wsP = Sheets("Platzierungen")
Set wsTab = Sheets("Tabellen")
A = wsTab.Cells(2, 1)
For i = 2 To 646
If i Mod 19 = 1 Then
j = j + 1
Else
If A = wsTab.Cells(i, 5) Then
If wsTab.Cells(i, 8) = wsP.Cells(1, j + 3) Then
If j = 0 Then
wsP.Cells(i, j + 3) = wsTab.Cells(i, 4)
Else
wsP.Cells(2, j + 3) = wsTab.Cells(i, 4)
End If
End If
End If
Next
End Sub
Gruß Gerd