Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
896to900
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
896to900
896to900
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

zwei If schlaufen

zwei If schlaufen
15.08.2007 16:23:00
Rainer
hallo ihr klaren köpfe! ;-)
ich habe hier zwei if schlafen. ich möchte folgendes:
falls der wert aus spalte A dem wert "1" entspricht, dann soll er zum countif und vlook hüpfen. Falls innerhalb des Vlook nichts gefunden wird, soll er "hab nix gefunden" ausweisen. Und wenn der Wert in Spalte A der Wert nicht 1 entspricht, dann soll er "Wert ungleich 1" ausweisen.
mir explodiert jetzt dann der kopf - kann einfach nicht mehr klar denken, ich habe das gefühl ich bin nahe dran, aber bin trotzdem steckengeblieben.
hier wäre noch der code.
option explicit

Sub umsatz()
' macht Abfrage damit nur Lageraufträge verarbeitet werden ("1Stock")
For i = 1 To iend Step 1
iend = Range("A65536").End(xlUp).Offset(1, 0).Row ' letzte beschriebene Zelle in Spalte A,  _
Zeilennummer
If Cells(i, 1).Value = 1 Then
' macht schlaufe für sverweis
For lngZeile = lngAbZeile To lngBisZeile
If Application.WorksheetFunction.CountIf(wksQuelle.Range(wksQuelle.Columns( _
wksQuelleSpalteAnfang), wksQuelle.Columns(wksQuelleSpalteAnfang)), wksZiel.Cells(lngZeile, lngSpalteZielA))  >0 Then
wksZiel.Cells(lngZeile, lngSpalteZielA + 7).Value = _
Application.WorksheetFunction.VLookup(wksZiel.Cells(lngZeile, lngSpalteZielA),  _
wksQuelle.Range(wksQuelle.Columns(wksQuelleSpalteAnfang), wksQuelle.Columns(wksQuelleSpalteZiel)), 2, False)
Else
wksZiel.Cells(lngZeile, lngSpalteZielA + 7).Value = "Hab da nix gefunden!"
End If
Next
End If
Next
End Sub


danke vielmals für euer hilfe!
Rainer

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zwei If schlaufen
15.08.2007 16:27:00
Ramses
Hallo
For i = 1 To iend Step 1
iend = Range("A65536").End(xlUp).Offset(1, 0).Row ' letzte beschriebene Zelle in Spalte A, _
Zeilennummer
Das kann schon mal gar nicht funktionieren weil iend erst NACH dem Schleifenstart gefüllt wird
Du erwartest doch aber hoffentlich nicht, dass irgendjemand DIESE Mappe für diesen code-Construkt nachbaut um das zu testen ob das funktioniert ?
Gruss Rainer

AW: zwei If schlaufen
15.08.2007 16:51:00
Rainer
Nein, keinesfalls!!!
ich dachte aber, es sei ein leichtes für euch, die zusammenstellung dieser If schlaufen zu ändern dass sie sinn machen.
Die count if oder vlookup muss nicht geändert werden. Es geht mir lediglich umd die ZUsammenstellung wie ich das verschachteln muss.
also muss ich das schonmal in der reihenfolge ändern:

Sub umsatz()
' macht Abfrage damit nur Lageraufträge verarbeitet werden ("1Stock")
iend = Range("A65536").End(xlUp).Offset(1, 0).Row ' letzte beschriebene Zelle in Spalte A,  _
Zeilennummer
For i = 1 To iend Step 1
If Cells(i, 1).Value = 1 Then
' macht schlaufe für sverweis
For lngZeile = lngAbZeile To lngBisZeile
If Application.WorksheetFunction.CountIf(wksQuelle.Range(wksQuelle.Columns( _
wksQuelleSpalteAnfang), wksQuelle.Columns(wksQuelleSpalteAnfang)), wksZiel.Cells(lngZeile,  _
lngSpalteZielA))  >0 Then
wksZiel.Cells(lngZeile, lngSpalteZielA + 7).Value = _
Application.WorksheetFunction.VLookup(wksZiel.Cells(lngZeile, lngSpalteZielA),  _
wksQuelle.Range(wksQuelle.Columns(wksQuelleSpalteAnfang), wksQuelle.Columns(wksQuelleSpalteZiel) _
), 2, False)
Else
wksZiel.Cells(lngZeile, lngSpalteZielA + 7).Value = "Hab da nix gefunden!"
End If
Next
End If
Next
End Sub


Anzeige
AW: zwei If schlaufen
15.08.2007 17:13:06
Ramses
Hallo
"...die zusammenstellung dieser If schlaufen zu ändern dass sie sinn machen..."
Du bist ein kleiner Scherzbold,.. gelle ? :-)
Woher kommen die Werte für diese Variablen ?
For lngZeile = lngAbZeile To lngBisZeile
Wo wird "wksQuelle" zugewiesen ?
Wo wird "wksZiel" zugewiesen ?
Wir haben dir schon mal einen Hinweis gegeben, wie der Code aufgebaut sein muss um einen möglichen Fehler bei "VlookUp abzufangen. Warum ist der hier nicht eingebaut ?
Gruss Rainer

AW: zwei If schlaufen
15.08.2007 17:42:59
Rainer
hi
ne, eigentlich dachte ich das sei für euch leicht machbar. die meinung war, dass die sachen wie vlookup etc. hier stimmen und lediglich der aurbau der bestehenden schlaufen zu verändern wäre. nun, ich denke ich habe mich hier getäuscht, da ich nicht immer abschätzen kann wie schwierig etwas zu lösen ist.
bezüglich vlookup hat das problem woanders gelegen. ich hatte genau das versucht einzubauen, hab aber den entsprechenden tipp erst später bekommen. das hat dann funktioniert. die anderen tipps haben entweder nicht geklappt oder ich war zu blöd.
falls es dich interessiert wie "ich" das problem in den griff gekriegt habe betätige die suche mit "vlookup rainer" und klick den ersten eintrag an.
ich denke aber dass ich das aktuelle problem nun anders lösen werde - oder mal einen anderen lösungsansatz inbetracht ziehe, da die ganze rechnerei auch ohne zusätzliche if schlaufe (ob wert in spalte a wert 1 enspricht) schon gegen 1 min rechnet.
trotzdem vielen dank :-)
gruss
rainer

Anzeige
Nun sag mal: WAS IST EINE IF-SCHLAUFE...
16.08.2007 03:41:00
Luc:-?
..., Rainer?
Eben habe ich bei einem Frager gelesen, dass er sich nun doch ein Buch "VBA in 21 Tagen" zulegen will. Das solltest du auch tun, damit Ordnung sowohl in deine Pgmme als auch in deine "Fachsprache" kommt.
Gruß Luc :-?
PS: Außerdem kann es nicht schaden, wenn du dich - auch wenn's etwas schwieriger wird - selbst bemühst und dich nicht auf "...eigentlich dachte ich, das sei für euch leicht machbar..." zurückziehst. Meist lernt man so am meisten. :-|

AW: Nun sag mal: WAS IST EINE IF-SCHLAUFE...
16.08.2007 08:11:34
Rainer
hallo luc
es liegen seit zwei Tagen zwei hübsche Bücher vor mir: "Bildungsmedien IT-Training, Microsoft Office Excel 2003, Automatisierung und Programmierung, und dann noch die variante für fortgeschrittene Exceltechniken. Wenn du den Thread von Anfang an verfolgt hast, habe ich sehr wohl erwähnt, dass ich mich zuerst hingesetzt habe und versucht habe das Problem selbst zu lösen.
Du darfst mir glauben, dass ich mich bemühe, aber das ist hier ja nicht der Punkt. Ich kann deine Aussage jedenfalls nicht so stehen lassen.
Gruss
Rainer
ps: ich habe kein problem damit, wenn mir jemand sagt, es sei so nicht lösbar, oder man habe kein Lust dazu, da ich es nicht als selbstverständlich empfinde dass man hier auf jede frage eine pfannenfertige Antwort erhält.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige