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

Suche Stunden > X

Suche Stunden > X
der
Hallo zusammen,
Ich habe mal wieder ein Problem.
Ich möchte gern in meinem sheet (Zeiträume) per VBA eine Suchfunktion einbauen.
Es sollen in allen 5 Zeiträumen immer die Spalte „Stunden (Dezimal)“ von Zeile 7 bis 200 durchsucht werden und dort alle Werte gefunden werden, welche größer sind als die rote Zahl oben.
Die rote Zahl oben soll editierbar sein. Die spalten enthalten alle Formeln und bedingte Formatierungen. Der Suchwert und der Suchbereich sind immer im Format Dezimalzahl 00,00.
Die Suchergebnisse (Zahl größer X) und der dazugehörige Name (2 Spalten weiter links) sollen dann kopiert und im Reiter Ergebnisse entsprechend eingefügt werden.
Ich hoffe, dass das möglich ist.
Ich habe jetzt schon mit mindestens 10 verschiedenen Codes versucht anzupassen um die Werte grüßer X auszulesen – immer ohne Erfolg.
Da ich die betroffenen Werte auch per bedingte Formatierung rot färben lasse habe ich auch schon versucht über den Color index auszulesen. Das bekomme ich aber erst recht nicht hin.
Ich hoffe, dass mir hier noch jemand helfen kann.
Ich dachte eigentlich, dass ich das mit meinem „gefährlichem Halbwissen“ mal selbst hinbekomme – habe diese Sache jedoch absolut unterschätzt.
Hier mal eine Bsp-Datei ohne VBA:
https://www.herber.de/bbs/user/74574.xls
Danke & viele Grüße
der Vati

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
hier mit VBA
28.04.2011 08:44:43
Matthias
Hallo
Hab mal die Zellen nur gefärbt, als Gedankenansatz
hier nur mit dem relevanten Tabellenblatt
https://www.herber.de/bbs/user/74575.xls
Dim xA&, xI&, gZ& For xA = 5 To 21 Step 4 gZ = Cells(5, xA) For xI = 7 To 39 If Tabelle1.Cells(xI, xA - 1) > gZ Then Tabelle1.Cells(xI, xA - 1).Interior.ColorIndex = 4 Next Next xA Userbild
AW: Suche Stunden > X
28.04.2011 09:51:10
der
Hallo Matthias,
Ich werde gleich mal probieren.
Schon mal ein großes Dankeschön vorab.
Feedback kommt dann :)
V.G. ins schöne Sachsen
der Vati
Anzeige
Nachtrag wg. Deklaration
28.04.2011 10:00:28
Matthias
Hallo
Dim xA&, xI&, gZ#
gZ sollte als Double deklariert werden, damit Du flexibler bist:
siehe Bsp. in ("U5")
 TU
4Zeitraum 5 
5 41,8
6Stunden (Dezimal)Stunden Soll (max.)
737,83160
824,00160
941,83160
1024,00160
1135,83160
1236,00160
1332,00160
1424,00160
1544,17160
1628,00160
1744,00160
1832,00160
1944,00160
2040,00160
2131,75160
2237,97160


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Userbild
Anzeige
AW: Nachtrag wg. Deklaration
28.04.2011 10:06:56
der
Hallo Matthias,
gleich lachst du bestimmt.
Deinen code verstehe ich leider nicht komplett:
Wenn das nur eine Zelle oder fester Bereich wäre, dann könnte ich den Code bestimmt so anpassen, dass ich es kopieren kann.
Da es aber mit next Anweisung ist, bekomme ich das nicht hin. :(
Ich glaube, man muss das dann in ein Array packen oder so?!
Das übersteigt meine Kenntnisse um längen, da ich die Sprache nie gelernt habe.
Ich kann immer nur das ändern und anpassen, was ich komplett verstehe.
Kannst du mir bitte noch ein Stück des Weges aufzeigen.
Danke & viele Grüße
der Vati
Anzeige
Erklärungsversuch
28.04.2011 10:22:47
Matthias
Hallo
Dim xA&, xI&, gZ#
'Deklaration der Variablen xA=Long , xI=Long , gZ = Double
For xA = 5 To 21 Step 4
'äußere Schleife von den Spalten 5 bis 21, in 4er-Schritten. erste Spalte 5 , nächste Spalte 9,  _
nächste 13 usw.
gZ = Cells(5, xA)
'Wert in Variable schreiben. Zeile5 Spalte(xA) also Spalte 5 dann 9 dann 13 usw.
also erst "E5" dann "I5" ... immer 4 Spalten weiter (Step 4)
For xI = 7 To 39 'innere Schleife von Zeile 7 bis 39
If Tabelle1.Cells(xI, xA - 1) > gZ Then Tabelle1.Cells(xI, xA - 1).Interior.ColorIndex = 4 'fä _
rben der Zelle
Next'nächste Zeile
Next xA 'nächste Spalte



Code komplett
Sub ml()
Dim xA&, xI&, gZ#
Range("B7:U39").Interior.ColorIndex = xlNone 'Farbe entf.- ansonsten erst alle Zellfarben auslesen-zum Wiederherstellen
For xA = 5 To 21 Step 4
gZ = Cells(5, xA)
For xI = 7 To 39
If Tabelle1.Cells(xI, xA - 1) > gZ Then Tabelle1.Cells(xI, xA - 1).Interior.ColorIndex = 4
Next
Next xA
End Sub


https://www.herber.de/bbs/user/74580.xls
Ich hoffe ich hab nichts übersehen
Userbild
Anzeige
Erklärungsversuch ist geglückt
28.04.2011 10:44:27
der
Hallo Matthias,
Jetzt verstehe ich step 4 :)
ich muss nun quasi hinter "Then" sagen:
kopiere mir die Treffér in das Blatt "Egebnis" sagen.
Nun weiß ich eben nicht, wie das gehen soll. Es müsste ja dort der Name und die dazugehörigen Zellen der "Über"Stunden hin. Und das ganze auch noch in die entsprechenden Zeiträume.
Wäre es hier besser, wenn ich pro Zeitraum einen Button mache und die Bereich einzeln durchsuche und kopiere?
Wenn ja, kannst du mir für das kopieren noch einen Ansatz geben. Die anderen Bereiche bekomme ich dann bestimmt hin.
Vielen Dank, für deine Geduld.
V.G. der Vati
Anzeige
AW: Erklärungsversuch ist geglückt
28.04.2011 11:25:49
der
Hallo Matthias,
das kopieren habe ich soweit hinbekommen, dass er alle Zahlen der Spalte kopiert. Leider auch die Zahlen, welche nicht über dem Wert sind.
Außerdem wird alles in eine Spalte (A) kopiert… besser bekomme ich es aber ohne deine Hilfe nicht hin.
Danke & viele Grüße
der Vati
https://www.herber.de/bbs/user/74583.xls
Suche Stunden > X und kopiere in anderes TB
28.04.2011 12:25:13
der
Hallo noch mal,
kann sich bitte noch mal jemand mein Problem anschauen?
Der Code zum finden der Zahlen größer X funktioniert super.
Ich bekomme die Zahlen aber immer noch nicht in ein neuen sheet kopiert.
Ich weiß einfach nicht wo und wie ich die Übergabe zum Kopieren ansetzen soll.
Meine Kenntnisse reichen leider nicht so weit in VBA.
v.G. der Vati
Anzeige
Perfekt! Danke :)
29.04.2011 07:17:47
der
Hallo Mathias,
Vielen Dank für deine Hilfe.
Da wäre ich allein nicht drauf gekommen.
Dank deiner Erklärung gestern, verstehe ich nun auch was passiert und wie du die Zeilen und Spalten ausliest. Nun kann ich alles auf meine Tabelle anpassen.
v.G. der Vati
Da ist aber noch was Wichtiges!
29.04.2011 07:31:14
Matthias
Hallo
Du darfst unterhalb der Tabelle keine Daten eingeben!
https://www.herber.de/bbs/user/74600.xls
Userbild
Anzeige
Danke für den Hinweis.
29.04.2011 07:37:47
der
Hallo Matthias,
Er setzt es quasi immer unter den letzten Eintrag der Spalte.
Das ist vollkommen ok für mich.
V.G. der Vati

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige