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

Bereich Prüfen ...

Bereich Prüfen ...
10.07.2007 11:15:00
Falk
Hallo zusammen,
unten stehende Funktion läuft "eigentlich" gut, aber wenn in dem Bereich A5:A65 auf dem Blatt Target nicht die Technologie steht, die in der Variable Prodnam steht, läuft sich die erste Do Until Schleife tod.
Wie kann ich jetzt eine Prüfung so einbauen, das beide Do Until Schleifen erst dann ausgeführt werden, wenn im Bereich A5:A65 eine Zelle gefunden wird, die gleich der Variablen Prodnam ist. Wenn dies nicht der Fall ist, so soll die Variable temp =" " sein und die Funktion abgebrochen werden.
Danke für Eure Hilfe im voraus
Grüße
Falk

Function Matrix()
Sheets("Target").Select
Range("A5").Select
Do Until ActiveCell.Value = Prodnam
ActiveCell.Offset(1, 0).Select
Loop
Do Until temp  ""
temp = ""
If Bedrag  "" Then
If Bedrag > ActiveCell.Offset(0, 6).Value And Bedrag  "" Then
If Bedrag > ActiveCell.Offset(1, 6).Value And Bedrag  "" Then
If Bedrag > ActiveCell.Offset(2, 6).Value And Bedrag  "" Then
If Bedrag > ActiveCell.Offset(3, 6).Value And Bedrag  "" Then
If Bedrag >= ActiveCell.Offset(5, 6).Value And ActiveCell.Offset(5, 6) _
.Value  "" _
Then temp = ActiveCell.Offset(5, 1).Value
Else
If ActiveCell.Offset(5, 6).Value = "" And ActiveCell.Offset(4, 6).Value  "" _
And Bedrag > ActiveCell.Offset(4, 6).Value _
Then temp = ActiveCell.Offset(5, 1).Value
If ActiveCell.Offset(4, 6).Value = "" And ActiveCell.Offset(3, 6).Value  "" _
And Bedrag > ActiveCell.Offset(3, 6).Value _
Then temp = ActiveCell.Offset(4, 1).Value
If ActiveCell.Offset(3, 6).Value = "" And ActiveCell.Offset(2, 6).Value  "" _
And Bedrag > ActiveCell.Offset(2, 6).Value _
Then temp = ActiveCell.Offset(3, 1).Value
If ActiveCell.Offset(2, 6).Value = "" And ActiveCell.Offset(1, 6).Value  "" _
And Bedrag > ActiveCell.Offset(1, 6).Value _
Then temp = ActiveCell.Offset(2, 1).Value
If ActiveCell.Offset(1, 6).Value = "" And ActiveCell.Offset(0, 6).Value  "" _
And Bedrag > ActiveCell.Offset(0, 6).Value _
Then temp = ActiveCell.Offset(1, 1).Value
End If
Loop
Sheets("Datenblatt").Select
End Function


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich Prüfen ...
10.07.2007 11:35:58
Matthias
Hallo
In der Art kannst Du vor Deiner Schleife prüfen, ob der Wert von der Variablen Prodnam in einer der Zellen von A5:A65 steht
Option Explicit

Sub testlauf()
Dim Prodnam As String
Dim C As Variant
Prodnam = "Die Technologie"
For Each C In Range("A5:A65")
If C.Value = Prodnam Then
MsgBox "Hier Deine Schleife, statt der MSGBOX": Exit Sub
End If
Next
End Sub


Userbild

Danke für Deine Hilfe ...
10.07.2007 14:00:00
Falk
... komme erst jetzt dazu Deinen Vorschlag umzusetzten, melde mich wenn ich erfolgreich war ...
Danke Dir Matthias

Anzeige
AW: Bereich Prüfen ...
10.07.2007 11:36:00
Chaos
Servus,
probiers mal so:

Sub Prodnam()
Dim x As Long
On Error GoTo fehler
x = Range("A5:A65").Cells.Find(what:="Prodnam", SearchOrder:=xlByColumns, SearchDirection:= _
xlNext, MatchCase:=False).Row
Range("A" & x).Select
fehler:
Exit Sub
End Sub


das hier nach Sheets("Target").Select einfügen, ohne


Sub und end 

Sub natürlich, bei Nichtvorhnadensein wird die 

Sub verlassen.
Ich habe hier Prodnam als Text ausgewiesen, scheint aber eine Variable zu sein, dann ohne Anfü _
hrungszeichen.
Gruß
Chaos

Anzeige
Danke auch für Deine Hilfe ...
10.07.2007 14:04:46
Falk
... komme leider erst jetzt dazu Deine Hilfe und die von Matthias durchzuarbeiten, melde mich wenn es funktioniert hat.
Danke ...
Falk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige