Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Hilfe bei Laufzeitfehler 1004 bei for-Schleife

Hilfe bei Laufzeitfehler 1004 bei for-Schleife
16.12.2014 22:14:47
Hendrik
Hallo zusammen,
erstmal ein großes Lob an dieses Forum. Ich bin Anfänger mit VBA und habe schon einige Tipps hier entnehmen können. Nun stehe ich selber auf dem Schlauch.
In der angehängten Excel-Datei (https://www.herber.de/bbs/user/94452.xls)
habe ich im ersten Tabellenblatt 2 Spalten (nämlich die 2. und die 4.), die jeweils Messdaten in einer Spalte stehen haben. Spalte 1 und 3 sind x-Koordinaten der Messspur. Ich möchte, dass pro x-Koordinate die Daten in eine neue Spalte auf dem zweiten Tabellenblatt kommen.
Also alle Daten der zweiten Spalte, die sich auf die x-Koordinate 5890 in der ersten Spalte beziehen in die erste Spalte des zweiten Tabellenblattes, alle Daten der zweiten Spalte, die sich auf 55890 in der ersten Spalte beziehen, in die zweite Spalte usw... Insgesamt bekomme ich dann auf dem zweiten Tabellenblatt 9 neue Spalten.
Dies soll dann für die 4. Spalte wiederholt werden, die sich auf die 3. Spalte bezieht. Da habe ich dann die Variable "sprung" eingeführt, damit in der 10. Spalte auf dem zweiten Tabellenblatt die Tabelle angehängt wird. Da dies noch mehr Dateien werden, habe ich eine Schleife geschrieben, mit "m" als Laufvariable. Da setzt das Programm aber aus (Laufzeitfehler 1004), ich kann mir nicht erklären, warum. Wenn ich m=1 oder m=3 ohne Schleife mache, funktionierts. Mit Schleife nicht...
Bin für Hilfe mehr als dankbar ! Besten Gruß !
Angehängt der Code:
Sub Gesamtmakro()
Dim cDir As String
Dim sPath As String
Dim i As Integer
Dim n As String
Dim m As Integer
Dim zaehler1 As Integer
m = 1
i = 1
sprung = 0
zaehler1 = 1
zaehler2 = 0
zaehler3 = 0
zaehler4 = 0
zaehler5 = 0
zaehler6 = 0
zaehler7 = 0
zaehler8 = 0
sprung = 0
For m = 1 To 3 Step 2
For i = 1 To 13500
'1. Mess-Spur
If ThisWorkbook.Worksheets(1).Cells(i, m) = 5890 Then
ThisWorkbook.Worksheets(2).Cells(i, m + sprung) = ThisWorkbook.Worksheets(1).Cells(i, m + 1)
zaehler1 = zaehler1 + 1
End If
'2. Mess-Spur
If ThisWorkbook.Worksheets(1).Cells(i, m) = 55890 Then
ThisWorkbook.Worksheets(2).Cells(i + 1 - zaehler1, m + 1 + sprung) = ThisWorkbook.Worksheets(1). _
Cells(i, m + 1)
zaehler2 = zaehler2 + 1
End If
'3. Mess-Spur
If ThisWorkbook.Worksheets(1).Cells(i, m) = 105890 Then
ThisWorkbook.Worksheets(2).Cells(i + 1 - zaehler1 - zaehler2, m + 2 + sprung) = ThisWorkbook. _
Worksheets(1).Cells(i, m + 1)
zaehler3 = zaehler3 + 1
End If
''4. Mess-Spur
If ThisWorkbook.Worksheets(1).Cells(i, m) = 155890 Then
ThisWorkbook.Worksheets(2).Cells(i + 1 - zaehler1 - zaehler2 - zaehler3, m + 3 + sprung) =  _
ThisWorkbook.Worksheets(1).Cells(i, m + 1)
zaehler4 = zaehler4 + 1
End If
''5. Mess-Spur
If ThisWorkbook.Worksheets(1).Cells(i, m) = 205890 Then
ThisWorkbook.Worksheets(2).Cells(i + 1 - zaehler1 - zaehler2 - zaehler3 - zaehler4, m + 4 +  _
sprung) = ThisWorkbook.Worksheets(1).Cells(i, m + 1)
zaehler5 = zaehler5 + 1
End If
''6. Mess-Spur
If ThisWorkbook.Worksheets(1).Cells(i, m) = 255890 Then
ThisWorkbook.Worksheets(2).Cells(i + 1 - zaehler1 - zaehler2 - zaehler3 - zaehler4 - zaehler5,  _
m + 5 + sprung) = ThisWorkbook.Worksheets(1).Cells(i, m + 1)
zaehler6 = zaehler6 + 1
End If
''7. Mess-Spur
If ThisWorkbook.Worksheets(1).Cells(i, m) = 305890 Then
ThisWorkbook.Worksheets(2).Cells(i + 1 - zaehler1 - zaehler2 - zaehler3 - zaehler4 - zaehler5 -  _
zaehler6, m + 6 + sprung) = ThisWorkbook.Worksheets(1).Cells(i, m + 1)
zaehler7 = zaehler7 + 1
End If
''8. Mess-Spur
If ThisWorkbook.Worksheets(1).Cells(i, m) = 355890 Then
ThisWorkbook.Worksheets(2).Cells(i + 1 - zaehler1 - zaehler2 - zaehler3 - zaehler4 - zaehler5 -  _
zaehler6 - zaehler7, m + 7 + sprung) = ThisWorkbook.Worksheets(1).Cells(i, m + 1)
zaehler8 = zaehler8 + 1
End If
''9. Mess-Spur
If ThisWorkbook.Worksheets(1).Cells(i, m) = 405890 Then
ThisWorkbook.Worksheets(2).Cells(i + 1 - zaehler1 - zaehler2 - zaehler3 - zaehler4 - zaehler5 -  _
zaehler6 - zaehler7 - zaehler8, m + 8 + sprung) = ThisWorkbook.Worksheets(1).Cells(i, m + 1)
End If
'n = n + 1
Next i
sprung = sprung + 7
Next m
End Sub

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe bei Laufzeitfehler 1004 bei for-Schleife
17.12.2014 06:50:12
ede
Hallo Hendrik,
schau mal ins Modul2, und lass das Makro "umsetzen" laufen.
Gruss
https://www.herber.de/bbs/user/94456.xls
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige