Post-Check Loop, Abbruchbed. scheitert
17.02.2017 19:55:21
Thomas
ich lerne seit 3 Monaten Learning by Doin' VBA für Excel, um für die Arbeit Messreihen automatisiert auswerten zu können. Das klappt bis jetzt alles ganz gut und mal ein riesiges Danke, diese Internetseite hat bis jetzt immer meine Probleme lösen können! :)
nun komme ich leider nicht weiter und hoffe, dass diese Portal mir wie gewohnt helfen kann.
Wenn zum Verständnis etwas fehlt, bitte melden.
also:
Option Explicit
Dim rng As Range
Dim search As Variant
Dim slot As Variant
Dim b As Integer
Dim a As Integer
a = 6810
search = "10" '//z.B
'Do
Set rng = ActiveSheet.Range(Cells(a, 1), Cells(Sheets("Korrektur").UsedRange.Rows.Count, 1)).Find(search)
slot = rng.Value
'a = rng.Row + 1
'Loop Until Len(search) = Len(slot)
ich suche in meiner Spalte A, im gewählten Abshnitt ab Zelle 6810 den Wert 10. In dieser Spalte sind Die Zahlen von 4000 bis 600 absteigend eingetragen
im Anschluss will ich einen Bereich kopieren, beginnend bei meiner gefundenen Zielzeile. Der Kopierteil (nachfolgend) funktioniert
Sheets("Korrektur").Range(Cells(a, 1), Cells(a + 100, Sheets("Korrektur").UsedRange.Columns.Count)).Copy '//100 Zellen weit nach unten, 100 nur Bsp,das ist sonst eine Variable
Sheets("Normierung").Select
ActiveSheet.Rows(b).Range("A4").PasteSpecial xlValues '//b wird wo anders gesetzt
Application.CutCopyMode = False
ich hoffe, das reicht als Umriss.
wenn ich die Routine, wie sie dort steht, laufen lassen, funktioniert sie.
Problem ist, er findet, da absteigend gereiht in Spate A, nicht als erstes die 10 sondern die 3910 und meint er wäre fertig.
Daher habe ich die auskommentierte Loop entworfen.
Er soll so lange suchen, bis die Zeichenlänge meines Suchwortes 'search' der des gefundenen 'slot' entspricht. Wenn es keine Entsprechung ist, soll er die Zeilenzahl, rng.row in 'a' Speichern, die bei der nächsten Iteration den zu durchsuchenden Range verkleinert, sodass er nicht wieder denselben Wert liefert.
Ich dachte das wäre ganz fuchsig. Allerdings wird niemals die Bedingung der Schleife erfüllt und das verstehe ich nicht. Excel hängt sich jedesmal auf. Vllt übersehe ich auch etwas Banales.
Was ich auch nicht begreife ist, wenn ich das "+1" zu rng.Row addiere bekomme ich die Fehlermeldung "Objektvariable oder With-Blockvariable wurde nicht festgelegt", vorher nicht. Dies lässt sich aber durch ein IF à la "If Not rng ist Nothing Then" beheben. Das weiß ich aber erst genau, wenn ich mein Loop Problem gelöst habe.
Schon einmal vielen Dank fürs überhaupt Durchlesen
VG
Thomas