Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
548to552
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
548to552
548to552
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

For next Schleife mit If

For next Schleife mit If
18.01.2005 22:24:37
Wolfgang
Hallo Leute, komm nach Stunden einfach nicht mehr weiter:
mit meinem Code möchte ich einen bestimmten Tabellenbereich (hier A1:F60 = Grundvorlage, kontrolliert kopieren und später verschieben, damit die Formelbezüge genau jeweils um 1 heruntergesetzt werden. So erhalte ich später die gewünschten Gruppierungen mit den jeweiligen Formelbezügen.
hier mein Code ohne Anmerkungen:
Dim x As Integer
Dim i As Integer
x = Worksheets("Mietwertermittlung").Cells(102, 47).Value
For i = 1 To 20
Worksheets("DDienstbarkeiten").Range("A1: f60").Copy
Cells(i, 20).Select
ActiveSheet.Paste
If Cells(i, 20) = 1 Then
msgbox ("Ich habe einen gefunden")
Application.CutCopyMode = False
Selection.Cut Destination:=Cells(i * 60 + 1, 1)
Else
End If
Next i
Zur Funktion meines Teilcodes führe ich aus:
'x steht für ein Kontrollwert, der das Ende der for-next-Schleife bedeutet
Dim x As Integer
'i ist der normale Schleifendurchlauf
Dim i As Integer
x = Worksheets("Mietwertermittlung").Cells(102, 47).Value
For i = 1 To 20
'es wird der Vorlagenbereich kopiert
Worksheets("DDienstbarkeiten").Range("A1: f60").Copy
'es wir um eins nach unten seitlich eingefügt
Cells(i, 20).Select
ActiveSheet.Paste
'so jetzt geht mein Problem los. Wenn der Wert 1 (ein Formelergebnis als Kontrolle. Der Wert 1 soll dafür Sorge tragen, dass der soeben kopierte Bereich wieder gelöscht wir, der Wert 2 soll das Ergebnis an den Zielort weiterreichen, die msgbox(als Programmierkontrolle löst korrekt aus).
If Cells(i, 20) = 1 Then
msgbox ("Ich habe einen gefunden")
'ohne die obige If-Abfrage funktioniert der Code von unten als Abschluss ohne Problem. Nur kommen jetzt alle Kopien anstelle der ausgesuchten.
Application.CutCopyMode = False
Selection.Cut Destination:=Cells(i * 60 + 1, 1)
'nun möchte ich hier ohne auslösendes Ereignis herauskommen
else
end if
Next i
'stattdessen wird nur ein falsches Ereignis an einem in der Spalte (20) übertragen.
Ich weiß momentan nicht mehr, wie ich das gewünschte Ereignis erhalten kann.
Mit freundlichen Grüßen
Wolfgang

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Schleife verlassen
18.01.2005 23:47:09
Christoph
Hallo Wolfgang,
so ganz bin ich bei deiner Beschreibung noch nicht durchgestiegen...aber ich vermute, du willst aus der Schleife raus, sobald du "einen gefunden" hast.
Das geht mit "Exit For"
Bsp s.u.
Gruß
Christoph
PS: ich empfehle deine Sheets korrekt zu referenzieren, dann kannst du auch auf die lästigen "Select" und "Activate" verzichten - siehe Basics hier bei Herber

Sub Raus_bei_10()
Dim i as Integer, k as Integer
For i = 1 To 20
k = k + 1
If k = 10 Then
Exit For
End If
Next i
MsgBox k
End Sub

AW: For next Schleife mit If
Wolfgang
Danke Dir Christoph.
Mit exit for habe ich es schon mal versucht. Hat aber bisher nicht geklappt. Doch ich werde es nochmals versuchen. Momentan habe ich aber hier noch leider andere Probleme. Vermutlich mit einer Limitation. Bei ca. 3300 Controls ist plötzlich nichts mehr gegangen. Leider ist jedoch die Seite von Philipp v. Wartburg nicht mehr online. Dann könnte ich der Sache eher auf den Grund gehen. Wäre schaden, wenn ich so kurz vor dem Ziel mein Projekt reduzieren müsste.
Grüße Wolfgang
Anzeige

195 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige