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

dynamischer Zellbezug

dynamischer Zellbezug
23.01.2009 21:28:47
Kalle
Hallo,
ich müsste einen dynamischen Zellbezug abfragen. Ich denke, dass dies über zwei verschachtelte Schleifen geschehen müsste. Da meine VBA-Kenntnisse allerdings sehr bescheiden sind kann ich hier leider nur die verbale Beschreibung meines Problems anfügen. Zur genaueren Erläuterung habe ich eine Tabelle angefügt.
Aufgabe:
Die Spalte B enthält einen Prüfwert (0 oder 1). Wenn der Wert 1 ist soll die Zelle Links daneben (Last Price) als Referenzwert genommen werden und mit den unteren Werten verglichen werden (Zeile für Zeile).
Es soll in Spate A immer eine Zeile nach unten gegangen werden und überprüft werden ob der Wert der Zelle
kleiner oder gleich dem Referenzwert - 0,002
oder
größer oder gleich dem Referenzwert + 0,004 ist.
Wenn eine der Bedingungen Wahr wird soll der Wert in die Zelle Rechts neben dem Prüfwert (1) eingetragen werden, der Referenzwert wieder gelöscht werden und nach einem neuen Prüfwert (1) gesucht werden.
Das sind also zwei Schleifen, welche solange durchlaufen werden sollen bis die Spalten nicht mehr befüllt sind. Als Ergebnis soll neben jedem Prüfwert (1) der passende Referenzwert stehen.
Vielen Dank für eure Hilfe!

Die Datei https://www.herber.de/bbs/user/58739.xls wurde aus Datenschutzgründen gelöscht

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: dynamischer Zellbezug
23.01.2009 23:14:48
Dirk
Hallo Kalle
Versuche es mal damit:

Private Sub CommandButton1_Click()
Dim proof As Single
Dim ref1 As Single
Dim ref2 As Single
Dim marker As String
ActiveSheet.Range("b2").Select
weiter:
Do Until ActiveCell.Value = 1
ActiveCell.Offset(1, 0).Select
If ActiveCell.Value = "" Then Exit Sub
Loop
proof = ActiveCell.Offset(0, -1)
marker = ActiveCell.Offset(0, 1).Address
ref1 = "-0,002"
ref2 = "+0,004"
ActiveSheet.Range("b2").Select
Do Until ActiveCell.Offset(0, -1).Value =  _
proof + ref2
ActiveCell.Offset(1, 0).Select
If ActiveCell.Value = "" Then Exit Sub
Loop
proof = ActiveCell.Offset(0, -1).Value
Range(marker).Select
ActiveCell.Value = proof
ActiveCell.Offset(1, -1).Select
GoTo weiter
End Sub


Füge das unter einem Commandbutton in deiner Arbeitsmappe ein!
Hoffe das hilft
Gruß Dirk

Anzeige
AW: dynamischer Zellbezug
23.01.2009 23:33:13
Kalle
.....vielen, vielen Dank. It works ;-)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige