Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1628to1632
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
Inhaltsverzeichnis

kleiner Fehler im Code

kleiner Fehler im Code
30.06.2018 12:34:46
Markus
Liebes Forum,
kann bitte einer von euch Experten mal über den nachfolgenden Code schauen. Weiß nicht, wie ich den Fehler rausbekomme:
Sub test()
Dim s As Long
With Sheets("Tabelle1")
For s = 3 To .Cells(2, .Columns.Count).End(xlToLeft).Column Step 11
Intersect(Union(.Columns(1).Resize(, 4), .Columns(s).Resize(, 11)), _
.Columns(s).Resize(, 2).SpecialCells(xlCellTypeConstants).EntireRow).Copy
Sheets((s + 1) / 2).Cells(1, 1).PasteSpecial xlPasteAll 'FEHLERMELDUNG
Next
End With
End Sub
Ziel ist es, dass der Code immer ins nächste Tabellenblatt springt. Daniel (Danke für den Code) aus dem Forum hat mir damals folgende Erklärung geschickt:
(s - Schleifen-Startwert) / Step der Schleife + Indexnummer des ersten Blattes
Bekomme es irgendwie nicht hin.
Vielen Dank euch!

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: kleiner Fehler im Code
30.06.2018 12:43:23
Markus
Sorry, im Code davor war noch ein Fehler meinerseits
Sub test()
Dim s As Long
With Sheets("Tabelle1")
For s = 3 To .Cells(2, .Columns.Count).End(xlToLeft).Column Step 11
Intersect(Union(.Columns(1).Resize(, 4), .Columns(s).Resize(, 2)), _
.Columns(s).Resize(, 11).SpecialCells(xlCellTypeConstants).EntireRow).Copy
Sheets((s + 1) / 2).Cells(1, 1).PasteSpecial xlPasteAll 'Fehlermeldung
Next
End With
End Sub

AW: kleiner Fehler im Code
30.06.2018 12:57:38
Hajo_Zi

Option Explicit
Sub test()
Dim s As Long
Dim WsTabelle As Worksheet
For Each WsTabelle In Worksheets
'MsgBox WsTabelle.Name
With WsTabelle
For s = 3 To .Cells(2, .Columns.Count).End(xlToLeft).Column Step 11
Intersect(Union(.Columns(1).Resize(, 4), .Columns(s).Resize(, 2)), _
.Columns(s).Resize(, 11).SpecialCells(xlCellTypeConstants).EntireRow).Copy
Sheets((s + 1) / 2).Cells(1, 1).PasteSpecial xlPasteAll 'Fehlermeldung
Next
End With
Next WsTabelle
End Sub

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
AW: kleiner Fehler im Code
30.06.2018 13:13:28
Daniel
Hi
du hast die Zusammenhänge noch nicht ganz begriffen.
1. wenn dein fixer Spaltenbereich, der immer mit kopiert werden muss, 4 Spalten breit ist, welches ist dann die erste Spalte des variablen bereichs, der kopiert werden muss, doch wahrscheinlich Spalte E = 5.
trotzdem lässt du die Schleife über die variablen Spalten mit Spalte C (3) starten, das kann nicht sein, denn das liegt ja noch im bereich der fixen Spalten (A-D)
2. hier rechnest du aus dem Spaltenzähler, welcher mit 5 beginnt (siehe 1.) und dann in 11er Schritten weiter springt, auf auf die Blattnummer um
dh aus der Zahlenfolge: 5 - 16 - 27 - 38 muss werden: 2 - 3 - 4 - 5
das geht am einfachsten, in dem du zum Schleifenzähler immer noch 17 hinzuaddierst, dann wird daraus 22 - 33 - 44 - 55 und dann das ganze durch 11 teilst, dann hast du deine Blattnummern:
Sheets((s + 17) / 11)
Gruß Daniel
Anzeige
AW: kleiner Fehler im Code
30.06.2018 14:04:56
Markus
Hi Daniel,
super, habe es jetzt mit deiner Erklärung hinbekommen :)
Nochmals vielen Dank für deine Geduld und Mühe. Hast mir sehr weitergeholfen!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige