intLastColumn = Cells(5, Columns.Count).End(xlToLeft).Column
Names = intLastColumn - 18
For ii = 19 To 19 + Names
For i = 7 To 7 + Names
If Cells(i, ii) = "P" Then
'...
Hi,
mir gibt die zweite For-Schleife etwas zu denken.
In der ersten Zeile wird die am weitesten rechts befindliche Spalte mit Inhalt ermittelt.
In der zweiten Zeile wird anhand des ermittelten Spaltenindex die Anzahl der Spalten berechnet (da es scheinbar nicht beim Index 1 losgeht) und wird im folgenden Names genannt.
Das merkwürdige ist nun, das korrekter weise die Variable ii mit diesen Names erhöhrt wird (ii steht in Zeile 5 für den Spaltenindex). Das gleiche wird jedoch auch bei der Variable i gemacht. Demnach muss man daraus schlussfolgern, dass es sich hier um eine Quadratische Matrix / Tabelle handelt. Für gewöhnlich sind Tabellen aber in der Zeilenanzahl variabel und deshalb ist diese Vorgehensweise meist nicht zielführend.
Es läßt sich also nur mutmaßen warum das Makro bei der ersten Leerzeile stehen bleibt.
Eine Beispieldatei und eine Beschreibung anhand dessen was geschehen soll wäre hilfreich (aus dem Code läßt sich zwar einiges herleiten, aber ob das korrekt ist kann ich - zumindest zur Zeit - nicht beurteilen).
(vielleicht meldet sich hier ja auch noch dein damaliger Helfer/Helferin zu Wort)
Gruß
|