Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1868to1872
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Zeilenindex um 1 erhöhen
10.02.2022 15:56:42
Patrick
Hallo,
ich versuche gerade mein erstes eigenes Makro in VBA zu programmieren. Ich bin absoluter VBA-Laie und hangele mich einfach an kleineren Dokus und Codeschnipseln entlang. Der Code ist sicherlich alles andere als sauber und performant, aber er funktioniert soweit erst einmal für mich.
Worum geht es bei dem Ganzen? In meiner Exceltabelle stehen in Spalte A Ausschnitte aus Dateinamen aus einem bestimmten Verzeichnis. In Spalte E und F stehen verschiedene Zielverzeichnisse. Nun soll im Quellverzeichnis nach Dateien mit dem String aus Spalte A gesucht werden und in die Zielverzeichnisse aus Spalte E und F kopiert werden. Das funktioniert auch ganz gut.
Mein Problem ist nun folgendes: Das Ganze muss per Schleife durchlaufen werden, damit alle Werte aus Spalte A geprüft werden. Das funktioniert auch. Ich prüfe jetzt aber auch nach den Werten in Spalte E und F, allerdings stand jetzt nur für die erste Datenzeile. Der Index soll sich aber natürlich bei jedem Schleifenlauf um 1 erhöhen, damit der Wert aus der richtigen Zeile geprüft wird. Wie stelle ich das an?
Konkret geht es um empfaenger1 und empfaenger2. empfaenger1 müsste also nach dem ersten Durchlauf auf Cells(5,5) gesetzt werden und solange erhöht werden, wie es Datensätze in Spalte A gibt.
Hier ist mein Code:

Sub Dateien_Kopieren()
'Kopiert Dateien für Projekt A
'Variablendeklaration
Const quellVerzeichnis      As String = "C:\Zeichnungen_Quelle\"
Const verzeichnisPMA        As String = "C:\Zeichnungen_Test_PMA\"
Const verzeichnisRockson    As String = "C:\Zeichnungen_Test_Rockson\"
Const verzeichnisBesecke    As String = "C:\Zeichnungen_Test_Besecke\"
Const verzeichnisWSAM       As String = "C:\Zeichnungen_Test_BSAM\"
Dim zeichnungNummer         As Range
Dim empfaenger1             As String
Dim empfaenger2             As String
Dim dateinameQuelle         As String
Dim dateinameZiel           As String
'Zielverzeichnisse
empfaenger1 = Cells(4, 5)
empfaenger2 = Cells(4, 6)
'Abgleich der Zeichnungsnummer mit dem Dateinamen
Dim fso As Object, oFile As Object
Set fso = CreateObject("Scripting.FileSystemObject")
For Each oFile In fso.GetFolder(quellVerzeichnis).Files
For Each zeichnungNummer In Range("A4:A" & Cells(Rows.Count, "A").End(xlUp).Row)
If zeichnungNummer  "" Then
Next
If InStr(oFile.Name, zeichnungNummer) Then
'Datei ins zielVerzeichnis1 kopieren
If LCase(empfaenger1) = "pma" Then
dateinameQuelle = quellVerzeichnis & "\" & oFile.Name
dateinameZiel = verzeichnisPMA & "\" & oFile.Name
FileCopy dateinameQuelle, dateinameZiel
ElseIf LCase(empfaenger1) = "rockson" Then
dateinameQuelle = quellVerzeichnis & "\" & oFile.Name
dateinameZiel = verzeichnisRockson & "\" & oFile.Name
FileCopy dateinameQuelle, dateinameZiel
ElseIf LCase(empfaenger1) = "besecke" Then
dateinameQuelle = quellVerzeichnis & "\" & oFile.Name
dateinameZiel = verzeichnisBesecke & "\" & oFile.Name
FileCopy dateinameQuelle, dateinameZiel
ElseIf LCase(empfaenger1) = "wsam" Then
dateinameQuelle = quellVerzeichnis & "\" & oFile.Name
dateinameZiel = verzeichnisWSAM & "\" & oFile.Name
FileCopy dateinameQuelle, dateinameZiel
End If
'Datei ins zielVerzeichnis2 kopieren
If LCase(empfaenger2) = "pma" Then
dateinameQuelle = quellVerzeichnis & "\" & oFile.Name
dateinameZiel = verzeichnisPMA & "\" & oFile.Name
FileCopy dateinameQuelle, dateinameZiel
ElseIf LCase(empfaenger2) = "rockson" Then
dateinameQuelle = quellVerzeichnis & "\" & oFile.Name
dateinameZiel = verzeichnisRockson & "\" & oFile.Name
FileCopy dateinameQuelle, dateinameZiel
ElseIf LCase(empfaenger2) = "besecke" Then
dateinameQuelle = quellVerzeichnis & "\" & oFile.Name
dateinameZiel = verzeichnisBesecke & "\" & oFile.Name
FileCopy dateinameQuelle, dateinameZiel
ElseIf LCase(empfaenger2) = "wsam" Then
dateinameQuelle = quellVerzeichnis & "\" & oFile.Name
dateinameZiel = verzeichnisWSAM & "\" & oFile.Name
FileCopy dateinameQuelle, dateinameZiel
End If
End If
End If
Next
Next
End Sub

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilenindex um 1 erhöhen
10.02.2022 16:27:05
Theo
Hallo,
Du könntest zb. die Empfänger so einlesen:
Dim i as long
'Zielverzeichnisse
i=4
empfaenger1 = Cells(i, 5)
empfaenger2 = Cells(i, 6)
vor dem Next müsstest Du i dann so hochzählen:
i=i+1
Grüße
Theo
AW: Zeilenindex um 1 erhöhen
10.02.2022 16:35:30
Rudi
Hallo,
imho kommt dieses Next zu früh:

If zeichnungNummer  "" Then
Next
Außerdem ist es besser, anstatt der ElseIf Select Case zu benutzen.

Sub Dateien_Kopieren()
'Kopiert Dateien für Projekt A
'Variablendeklaration
Const quellVerzeichnis      As String = "C:\Zeichnungen_Quelle\"
Const verzeichnisPMA        As String = "C:\Zeichnungen_Test_PMA\"
Const verzeichnisRockson    As String = "C:\Zeichnungen_Test_Rockson\"
Const verzeichnisBesecke    As String = "C:\Zeichnungen_Test_Besecke\"
Const verzeichnisWSAM       As String = "C:\Zeichnungen_Test_BSAM\"
Dim zeichnungNummer         As Range
Dim empfaenger1             As String
Dim empfaenger2             As String
Dim dateinameQuelle         As String
Dim dateinameZiel           As String
'Zielverzeichnisse
empfaenger1 = Cells(4, 5)
empfaenger2 = Cells(4, 6)
'Abgleich der Zeichnungsnummer mit dem Dateinamen
Dim fso As Object, oFile As Object
Set fso = CreateObject("Scripting.FileSystemObject")
For Each oFile In fso.GetFolder(quellVerzeichnis).Files
For Each zeichnungNummer In Range("A4:A" & Cells(Rows.Count, "A").End(xlUp).Row)
If zeichnungNummer  "" Then
If InStr(oFile.Name, zeichnungNummer) Then
dateinameQuelle = quellVerzeichnis & oFile.Name
'Datei ins zielVerzeichnis1 kopieren
Select Case LCase(empfaenger1)
Case "pma"
dateinameZiel = verzeichnisPMA & oFile.Name
Case "rockson"
dateinameZiel = verzeichnisRockson & oFile.Name
Case "besecke"
dateinameZiel = verzeichnisBesecke & oFile.Name
Case "wsam"
dateinameZiel = verzeichnisWSAM & oFile.Name
End Select
FileCopy dateinameQuelle, dateinameZiel
'Datei ins zielVerzeichnis2 kopieren
Select Case LCase(empfaenger2)
Case "pma"
dateinameZiel = verzeichnisPMA & oFile.Name
Case "rockson"
dateinameZiel = verzeichnisRockson & oFile.Name
Case Is = "besecke"
dateinameZiel = verzeichnisBesecke & oFile.Name
Case "wsam"
dateinameZiel = verzeichnisWSAM & oFile.Name
End Select
FileCopy dateinameQuelle, dateinameZiel
End If
End If
Next zeichnungsnummer
Next oFile
End Sub
Gruß
Rudi
Anzeige
AW: Zeilenindex um 1 erhöhen
10.02.2022 16:43:29
Patrick
Irgendwie stehe ich auf dem Schlauch... Mein jetziger Code ändert nichts, es wird nicht die richtige Zeile verwendet.

Sub Dateien_Kopieren()
'Kopiert Dateien für Projekt A
'Variablendeklaration
Const quellVerzeichnis      As String = "C:\Zeichnungen_Quelle\"
Const verzeichnisPMA        As String = "C:\Zeichnungen_Test_PMA\"
Const verzeichnisRockson    As String = "C:\Zeichnungen_Test_Rockson\"
Const verzeichnisBesecke    As String = "C:\Zeichnungen_Test_Besecke\"
Const verzeichnisWSAM       As String = "C:\Zeichnungen_Test_BSAM\"
Dim zeichnungNummer         As Range
Dim empfaenger1             As String
Dim empfaenger2             As String
Dim dateinameQuelle         As String
Dim dateinameZiel           As String
Dim i                       As Long
i = 4
'Zielverzeichnisse
empfaenger1 = Cells(i, 5)
empfaenger2 = Cells(i, 6)
'Abgleich der Zeichnungsnummer mit dem Dateinamen
Dim fso As Object, oFile As Object
Set fso = CreateObject("Scripting.FileSystemObject")
For Each oFile In fso.GetFolder(quellVerzeichnis).Files
For Each zeichnungNummer In Range("A4:A" & Cells(Rows.Count, "A").End(xlUp).Row)
If zeichnungNummer  "" Then
If InStr(oFile.Name, zeichnungNummer) Then
dateinameQuelle = quellVerzeichnis & oFile.Name
'Datei ins zielVerzeichnis1 kopieren
Select Case LCase(empfaenger1)
Case "pma"
dateinameZiel = verzeichnisPMA & oFile.Name
Case "rockson"
dateinameZiel = verzeichnisRockson & oFile.Name
Case "besecke"
dateinameZiel = verzeichnisBesecke & oFile.Name
Case "wsam"
dateinameZiel = verzeichnisWSAM & oFile.Name
End Select
FileCopy dateinameQuelle, dateinameZiel
'Datei ins zielVerzeichnis2 kopieren
Select Case LCase(empfaenger2)
Case "pma"
dateinameZiel = verzeichnisPMA & oFile.Name
Case "rockson"
dateinameZiel = verzeichnisRockson & oFile.Name
Case Is = "besecke"
dateinameZiel = verzeichnisBesecke & oFile.Name
Case "wsam"
dateinameZiel = verzeichnisWSAM & oFile.Name
End Select
FileCopy dateinameQuelle, dateinameZiel
End If
End If
i = i + 1
Next zeichnungNummer
Next oFile
End Sub
Vielleicht kannst du mir zufällig auch bei den nächsten Schritten helfen. Ich würde die Dateien gerne nur kopieren, wenn sie noch nicht im Zielverzeichnis liegen bzw. ein neueres Änderungsdatum als das im Zielverzeichnis vorliegt. Ich möchte ja nicht ständig dieselben Dateien kopieren
Anzeige
AW: Zeilenindex um 1 erhöhen
10.02.2022 16:49:42
Theo
ja, denn Du liest die Empfänger ausserhalb der Schleife.
Verschiebe diesen Teil :
'Zielverzeichnisse
empfaenger1 = Cells(i, 5)
empfaenger2 = Cells(i, 6)
Hinter diese Zeile:
If zeichnungNummer "" Then
Theo
AW: Zeilenindex um 1 erhöhen
10.02.2022 16:57:44
Patrick
Ok, aber es passt immer noch nicht ganz. In meinem Quellverzeichnis liegt eine Datei, die den String 3010_01 enthält. Der steht in Zelle A5 und müsste ebenfalls kopiert werden, wird er aber nicht.
AW: Zeilenindex um 1 erhöhen
10.02.2022 17:01:48
Rudi
Hallo
du legst die Empfänger ja statisch fest.

For Each zeichnungNummer In Range("A4:A" & Cells(Rows.Count, "A").End(xlUp).Row)
If zeichnungNummer  "" Then
Empfänger1 = zeichnungsnummer.Offset(,4)
Empfänger2 = zeichnungsnummer.Offset(,5)
Gruß
Rudi
Anzeige
AW: Zeilenindex um 1 erhöhen
10.02.2022 17:28:45
Patrick
Kannst du mir mal bitte den kompletten korrekten Code schicken? Ich weiß nicht was ich falsch mache... Jetzt kommt Pfad nicht gefunden beim Ausführen.

Sub Dateien_Kopieren()
'Kopiert Dateien für Projekt A
'Variablendeklaration
Const quellVerzeichnis      As String = "C:\Zeichnungen_Quelle\"
Const verzeichnisPMA        As String = "C:\Zeichnungen_Test_PMA\"
Const verzeichnisRockson    As String = "C:\Zeichnungen_Test_Rockson\"
Const verzeichnisBesecke    As String = "C:\Zeichnungen_Test_Besecke\"
Const verzeichnisWSAM       As String = "C:\Zeichnungen_Test_BSAM\"
Dim zeichnungNummer         As Range
Dim empfaenger1             As String
Dim empfaenger2             As String
Dim dateinameQuelle         As String
Dim dateinameZiel           As String
Dim i                       As Long
'Erste Datenzeile
i = 4
empfaenger1 = Cells(i, 5)
empfaenger2 = Cells(i, 6)
'Abgleich der Zeichnungsnummer mit dem Dateinamen
Dim fso As Object, oFile As Object
Set fso = CreateObject("Scripting.FileSystemObject")
For Each oFile In fso.GetFolder(quellVerzeichnis).Files
For Each zeichnungNummer In Range("A4:A" & Cells(Rows.Count, "A").End(xlUp).Row)
If zeichnungNummer  "" Then
empfaenger1 = zeichnungNummer.Offset(, 4)
empfaenger2 = zeichnungNummer.Offset(, 5)
If InStr(oFile.Name, zeichnungNummer) Then
dateinameQuelle = quellVerzeichnis & oFile.Name
'Datei ins zielVerzeichnis1 kopieren
Select Case LCase(empfaenger1)
Case "pma"
dateinameZiel = verzeichnisPMA & oFile.Name
Case "rockson"
dateinameZiel = verzeichnisRockson & oFile.Name
Case "besecke"
dateinameZiel = verzeichnisBesecke & oFile.Name
Case "wsam"
dateinameZiel = verzeichnisWSAM & oFile.Name
End Select
FileCopy dateinameQuelle, dateinameZiel
'Datei ins zielVerzeichnis2 kopieren
Select Case LCase(empfaenger2)
Case "pma"
dateinameZiel = verzeichnisPMA & oFile.Name
Case "rockson"
dateinameZiel = verzeichnisRockson & oFile.Name
Case Is = "besecke"
dateinameZiel = verzeichnisBesecke & oFile.Name
Case "wsam"
dateinameZiel = verzeichnisWSAM & oFile.Name
End Select
FileCopy dateinameQuelle, dateinameZiel
End If
End If
i = i + 1
Next zeichnungNummer
Next oFile
End Sub

Anzeige
AW: Zeilenindex um 1 erhöhen
10.02.2022 18:45:23
Rudi
was steht denn in E/F?
Zeig mal die Datei
AW: Zeilenindex um 1 erhöhen
11.02.2022 07:50:59
Patrick
Neben dem jetzigen Problem würde ich gerne noch folgende Dinge umsetzen:
1. Es sollen auch die Unterverzeichnisse des Quellverzeichnisses durchsucht werden
2. Daten sollen nur kopiert werden, wenn sie noch nicht im Zielverzeichnis vorhanden sind bzw. das Änderungsdatum der Datei neuer als das im Zielverzeichnis ist
3. Das Ganze soll dann auch mit 6 Quellverzeichnissen und 12 Empfängerspalten (anstelle von 2) funktionieren. Jedes Quellverzeichnis hat 2 Empfäger, die sich pro Projekt unterscheiden können. Die Zielverzeichnisse bleiben aber immer die bisherigen 4.
Vielleicht kann mir hier auch jemand helfen?
Anzeige
jetzt wird's komplex
11.02.2022 09:48:28
Rudi
Hallo,
das überschreitet den Sinn eines Forums bei weitem.
Ein Forum bietet Hilfe und ist keine kostenlose Programmierbude. Du kannst hans (oder auch mir) gerne eine Anfrage schicken.
https://www.herber.de/kontakt.html
Gruß
Rudi
AW: jetzt wird's komplex
11.02.2022 10:15:57
Patrick
Punkt 2 habe ich jetzt auch schon größtenteils implementiert. Zumindest wird geprüft ob die Datei bereits vorhanden ist, das ist der wichtigste Teil.

Sub DateienKopieren()
'Zeichnungsverteilung im Projektordner
'Quellverzeichnisse
Const quellVerzeichnis      As String = "C:\Zeichnungen_Quelle\"
'Zielverzeichnisse
Const verzeichnisPMA        As String = "C:\Zeichnungen_Test_PMA\"
Const verzeichnisRockson    As String = "C:\Zeichnungen_Test_Rockson\"
Const verzeichnisBesecke    As String = "C:\Zeichnungen_Test_Besecke\"
Const verzeichnisWSAM       As String = "C:\Zeichnungen_Test_BSAM\"
'Empfänger
Dim empfaenger1             As String
Dim empfaenger2             As String
'Dateinamen
Dim dateinameQuelle         As String
Dim dateinameZiel           As String
'Sonstige Variablen
Dim zeichnungNummer         As Range
Dim i                       As Long
'Erste relevante Datenzeile
i = 4
empfaenger1 = Cells(i, 5)
empfaenger2 = Cells(i, 6)
'Abgleich der Zeichnungsnummer mit dem Dateinamen
Dim fso As Object, oFile As Object
Set fso = CreateObject("Scripting.FileSystemObject")
For Each oFile In fso.GetFolder(quellVerzeichnis).Files
For Each zeichnungNummer In Range("A4:A" & Cells(Rows.Count, "A").End(xlUp).Row)
If zeichnungNummer  "" Then
'empfaenger1 = zeichnungNummer.Offset(, 4)
'empfaenger2 = zeichnungNummer.Offset(, 5)
If InStr(oFile.Name, zeichnungNummer) Then
dateinameQuelle = quellVerzeichnis & oFile.Name
'Datei ins zielVerzeichnis1 kopieren
Select Case LCase(empfaenger1)
Case "pma"
dateinameZiel = verzeichnisPMA & oFile.Name
Case "rockson"
dateinameZiel = verzeichnisRockson & oFile.Name
Case "besecke"
dateinameZiel = verzeichnisBesecke & oFile.Name
Case "wsam"
dateinameZiel = verzeichnisWSAM & oFile.Name
End Select
If Not DateiExistiert(dateinameZiel) Then
FileCopy dateinameQuelle, dateinameZiel
End If
'Datei ins zielVerzeichnis2 kopieren
Select Case LCase(empfaenger2)
Case "pma"
dateinameZiel = verzeichnisPMA & oFile.Name
Case "rockson"
dateinameZiel = verzeichnisRockson & oFile.Name
Case "besecke"
dateinameZiel = verzeichnisBesecke & oFile.Name
Case "wsam"
dateinameZiel = verzeichnisWSAM & oFile.Name
End Select
If Not DateiExistiert(dateinameZiel) Then
FileCopy dateinameQuelle, dateinameZiel
End If
End If
End If
i = i + 1
Next zeichnungNummer
Next oFile
End Sub
Function DateiExistiert(Dateipfad As String) As Boolean
'Zu prüfender String
Dim TestString As String
TestString = ""
On Error Resume Next
TestString = Dir(Dateipfad)
On Error GoTo 0
If TestString = "" Then
DateiExistiert = False
Else
DateiExistiert = True
End If
End Function
Das Offset beim Empfänger habe ich erstmal auskommentiert. Ich weiß absolut nicht was ich in meinem Code ändern muss, damit die richtige Datenzeile gezogen wird bei den Empfängern.
Anzeige
auskommentiert: selbst schuld. owT
11.02.2022 11:48:06
Rudi
AW: auskommentiert: selbst schuld. owT
11.02.2022 11:54:58
Patrick
Hallo Rudi,
ich glaube du hast mich dabei etwas missverstanden. Ich hatte die Zeilen ja ursprünglich nicht auskommentiert. Es wird dann aber direkt eine Fehlermeldung ausgegeben (Laufzeitfehler 76: Pfad nicht gefunden). Deshalb habe ich es erst einmal wieder entfernt, damit man hier im Forum vielleicht das eigentliche Problem erkennen kann. Magst du vielleicht noch einmal schauen bitte wo der Fehler liegen könnte. Ich komme einfach nicht weiter und finde den Fehler selbst nicht.
Si sieht mein Code jetzt aus:

Sub DateienKopieren()
'Zeichnungsverteilung im Projektordner
'Quellverzeichnisse
Const quellVerzeichnis      As String = "C:\Zeichnungen_Quelle\"
'Zielverzeichnisse
Const verzeichnisPMA        As String = "C:\Zeichnungen_Test_PMA\"
Const verzeichnisRockson    As String = "C:\Zeichnungen_Test_Rockson\"
Const verzeichnisBesecke    As String = "C:\Zeichnungen_Test_Besecke\"
Const verzeichnisWSAM       As String = "C:\Zeichnungen_Test_BSAM\"
'Empfänger
Dim empfaenger1             As String
Dim empfaenger2             As String
'Dateinamen
Dim dateinameQuelle         As String
Dim dateinameZiel           As String
'Sonstige Variablen
Dim zeichnungNummer         As Range
Dim i                       As Long
'Erste relevante Datenzeile
i = 4
empfaenger1 = Cells(i, 5)
empfaenger2 = Cells(i, 6)
'Abgleich der Zeichnungsnummer mit dem Dateinamen
Dim fso As Object, oFile As Object
Set fso = CreateObject("Scripting.FileSystemObject")
For Each oFile In fso.GetFolder(quellVerzeichnis).Files
For Each zeichnungNummer In Range("A4:A" & Cells(Rows.Count, "A").End(xlUp).Row)
If zeichnungNummer  "" Then
empfaenger1 = zeichnungNummer.Offset(, 4)
empfaenger2 = zeichnungNummer.Offset(, 5)
If InStr(oFile.Name, zeichnungNummer) Then
dateinameQuelle = quellVerzeichnis & oFile.Name
'Datei ins zielVerzeichnis1 kopieren
Select Case LCase(empfaenger1)
Case "pma"
dateinameZiel = verzeichnisPMA & oFile.Name
Case "rockson"
dateinameZiel = verzeichnisRockson & oFile.Name
Case "besecke"
dateinameZiel = verzeichnisBesecke & oFile.Name
Case "wsam"
dateinameZiel = verzeichnisWSAM & oFile.Name
End Select
If Not DateiExistiert(dateinameZiel) Then
FileCopy dateinameQuelle, dateinameZiel
End If
'Datei ins zielVerzeichnis2 kopieren
Select Case LCase(empfaenger2)
Case "pma"
dateinameZiel = verzeichnisPMA & oFile.Name
Case "rockson"
dateinameZiel = verzeichnisRockson & oFile.Name
Case "besecke"
dateinameZiel = verzeichnisBesecke & oFile.Name
Case "wsam"
dateinameZiel = verzeichnisWSAM & oFile.Name
End Select
If Not DateiExistiert(dateinameZiel) Then
FileCopy dateinameQuelle, dateinameZiel
End If
End If
End If
i = i + 1
Next zeichnungNummer
Next oFile
End Sub
Function DateiExistiert(Dateipfad As String) As Boolean
'Zu prüfender String
Dim TestString As String
TestString = ""
On Error Resume Next
TestString = Dir(Dateipfad)
On Error GoTo 0
If TestString = "" Then
DateiExistiert = False
Else
DateiExistiert = True
End If
End Function
Für weitere Hilfe wäre ich dir sehr dankbar.
Viele Grüße
Patrick
Anzeige
AW: auskommentiert: selbst schuld. owT
11.02.2022 12:00:10
Patrick
Eine kleine Anmerkung noch dazu:
Trotz Fehlermeldung kopiert das Makro die erste Datei (1954_01...) in die entsprechenden Verzeichnisse. Mit der nächsten Zeile hat es dann aber anscheinend die Probleme (3010_01...)

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige