Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1184to1188
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

zwei Schlaufen mit bedingter Ausführung

zwei Schlaufen mit bedingter Ausführung
Peter
Guten Abend
Nachfolgender Code läuft, doch ich habe irgend ein strukturelles Problem. Ich trage in einem Bereich Werte ein.
Wenn in einer bestimmten Zelle nicht "JA" steht, darf kein Eintrag erfolgen, allfällige Einträge müssen in dieser Zeile gelöscht werden.
Mir ist nicht klar, wie ich vermeide, dass ich sowohl Then GoTo Weiter_MIT_LOESCHEN als auch Goto Weiter_OHNE_LOESCHEN brauche.
Wenn mir da jemand ein Tipp geben könnte, wäre das super.
Danke, Peter
Sub Eintragen()
Dim Bereich As Range, Feld As Range, qRngXX As Range
Dim QArea As Range, QCell As Range
Dim p$, f$, r$, n%, s$, m%, o%, z%, p_und_f$
Dim Anzahl$, ErsteZeile As Long, zNr As Long
Dim aktSheet$
aktSheet = ActiveSheet.Name
ErsteZeile = 5   'Erste Zeile in XXTab
n = Cells(65536, [RefZeile].Column).End(xlUp).Row
Set Bereich = Range(Cells(ErsteZeile, [XX01pfad].Column), Cells(n, [XX01pfad].Column))
Set qRngXX = Range("q_pf")
o = rErsteSpalte(qRngXX)
m = rLetzteSpalte(qRngXX)
z = [RefZeile].Row
Set QArea = Range(Cells(z, o), Cells(z, m))
Anzahl = 0
zNr = ErsteZeile
For Each Feld In Bereich
If UCase(Cells(zNr, [XX01PF_JA].Column))  "JA" Then GoTo Weiter_MIT_LOESCHEN
p = Cells(zNr, [XX01pfad].Column) & "\PF\" & [Jahr]
f = Cells(zNr, [XX01ak].Column) & "PF" & Right([Jahr], 2) & Right(aktSheet, 2) & ".xls"  ' _
Filename
s = Cells(zNr, [XX01Klasse].Column)  'Worksheet
For Each QCell In QArea
r = QCell.Value
Cells(Feld.Row, QCell.Column) = getvalue(p, f, s, r)
Next
Anzahl = Anzahl + 1
GoTo Weiter_OHNE_LOESCHEN
Weiter_MIT_LOESCHEN:
Range(Cells(zNr, o), Cells(zNr, m)) = ""
Weiter_OHNE_LOESCHEN:
zNr = zNr + 1
Next
End Sub

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

Betreff
Benutzer
Anzeige
ohne GOTO
16.11.2010 18:47:16
Erich
Hi Peter,
wenn ich das recht verstanden habe, sollte das so gehen:

For Each Feld In Bereich
If UCase(Cells(zNr, [XX01PF_JA].Column))  "JA" Then
Range(Cells(zNr, o), Cells(zNr, m)) = ""
Else
p = Cells(zNr, [XX01pfad].Column) & "\PF\" & [Jahr]
f = Cells(zNr, [XX01ak].Column) & "PF" & Right([Jahr], 2) & _
Right(aktSheet, 2) & ".xls"         ' Filename
s = Cells(zNr, [XX01Klasse].Column)    ' Worksheet
For Each QCell In QArea
r = QCell.Value
Cells(Feld.Row, QCell.Column) = getvalue(p, f, s, r)
Next
Anzahl = Anzahl + 1
zNr = zNr + 1
End If
Next
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: ohne GOTO
17.11.2010 07:51:59
Peter
Hallo Erich
Das hat mir geholfen, vielen Dank!
Ich musste nur das zu "If UCase" gehörende "End If"
vor die Zeilen
Anzahl = Anzahl + 1
zNr = zNr + 1
platzieren.
Gruss, Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige