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

VBA Zelle größer Finden und Zellenadresse ausgeben

VBA Zelle größer Finden und Zellenadresse ausgeben
07.10.2015 21:56:03
trx
Hallo zusammen,
da ich schon sehr viel aus diesem Forum herausgepickt habe, nun aber nicht mein Problem finde, werde ich mal ein eigenes Thema eröffnen.
Ich möchte gerne ab einer schon gesuchten ZellenAdresse eine Suche starten, bis das Ende der Spalte erreicht ist.
Es soll nach dem ersten Wert gesucht werden, der größer 0,01 ist.
So sieht die Spalte aus:
1,42E-07
1,37E-07
1,37E-07
0,319999993
0,349999994
Er soll mir also die Zeilennummer ausgeben, ab dem der Wert größer 0,01 ist, in diesem Fall also die Nummer von 0,31999999.
Nun soll dies über Mehrere Blätter laufen und mein Code sieht imoment so aus:
Sub Zeilen()
Set wkbDaten = Workbooks("Mappe1.xlsm")
For Each wks In wkbDaten.Sheets
________________________
y = 1
x = wks.Range("A:A").End(xlDown).Row
Set rngHandsOff = wks.Range("A" & y & ":A" & x).Find(What:="yes", LookIn:=xlValues, LookAt:= _
xlWhole)
Zeile = rngHandsOff.Row
wert = WorksheetFunction.Sum(wks.Range("A" & Zeile & ":A" & x))
wks.Cells(10, 1).Value = wert
_____________________________
avntArray = wks.Range("A" & y & ":A" & Zeile)
For Each vntElem In avntArray
If vntElem > 3 Then vntElem.Adress: Exit For
Next
Next
End Sub
Natürlich funktioniert der Code nicht. Ich habe die Idee von ab "For Each vntElem" auch hier im Forum gefunden und dachte ich könnte einfach mit Adress die Adresse ausgeben. Ohne Erfolg. Mit Find fände ich sowas am einfachsten, aber leider kann ich Find nicht sagen, dass ich einen Wert >0,01 suche. Nun die Frage, wie könnte ich diesen Code umbauen, sodass ich die ZellenAdresse von dem vntElem habe.
Die brauche ich um in einer anderen Spalte die Werte (ab Zeile 1) bis dieser Zellenadresse zu summieren. Des Wegen der vorherige Code.
Dies ist aus meinem Testdokument, deswegen habe ich Variablen nur x und y benannt. In meinem Vollständigen Code sind die natürlich besser benannt. Auch habe ich hier nur 1 Spalte und 2 Blätter.
Ich hoffe ich konnte es einigermaßen erklären.

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Zelle größer Finden und Zellenadresse ausgeben
07.10.2015 22:22:59
Daniel
Hi
wenn die Liste aufsteigend sortiert ist, dann wäre die Funktion VERGLEICH die geeignte Funktion (in VBA Application.Match)

y = 1
x = wks.Range("A:A").End(xlDown).Row
Zeile = y + Application.Match(0.01, wks.Range("A" & y & ":A" & x), 1)

Gruss Daniel

AW: VBA Zelle größer Finden und Zellenadresse ausgeben
07.10.2015 23:05:13
Trx
Leider muss das ganze nicht aufsteigend sortiert sein sondern kann auch ein Durcheinander sein. Aber schonmal vielen Dank, das kann ich für ein Paar Blätter schonmal benutzen!!

AW: VBA Zelle größer Finden und Zellenadresse ausgeben
07.10.2015 23:16:24
Daniel
Hi
wenns nicht sortiert ist, dann musst du mit ner Schleife über die Zellen laufen und die Zellewerte mit 0,01 vergleichen:
for Zeile = y to x
if wks.cells(z, 1) > 0.01 then Exit for
next

nach abbruch der Schleife hat die Variable Zeile dann die Zeilennummer der ersten Zelle, deren Wert grösser als 0,01 ist.
sollte es vorkommen können, dass alle Werte kleiner als 0,01 sind, dann wird die Schleife vollständig durchlaufen. Um zu überprüfen, ob dieser Fall eingetreten ist vergleicht man Zeile mit dem Schleifenendwert. Ist der Schleifenzähler Zeile grösser als der Endwert x, wurde die Schleife vollständig durchlaufen und es gibt keinen Wert grösser 0,01
Gruss Daniel

Anzeige
AW: VBA Zelle größer Finden und Zellenadresse ausgeben
08.10.2015 18:06:18
trx
Klappt super danke!

362 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige