Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

wert suchen und zeile ausgeben

wert suchen und zeile ausgeben
28.04.2017 10:19:00
bernhard
Hey!
Also folgendes Problem: ausgangslage ist eine Excel-Tabelle mit 4 Spalten, wobei die letzte Spalte "d" für den Filter verwendet wert.
ich habe folgende zahlen berechnet: H11: 0; H12: 82,01708
Spalte "D" soll nun nach werten suchen, die zwischen diesen Zahlen liegen, und diese Zeile (Spalte A bis D) kopieren.
Meine Alternative, die immerhin zum teil funktioniert: Tabelle kopieren, und dann alle Reihen, die NICHT zwischen diesen werten sind, löschen.
Ich bin mit google immerhin soweit gekommen, dass die Tabelle kopiert wird. auch gelöscht wird irgendwas, allerdings nicht das was es soll.
mein code bis jetzt (mir ist durchaus bewusst, dass die zahl "90" im code nicht mit meiner angabe übereinstimmt, ändert aber leider nichts daran dass es nicht funktioniert):
Sub Makro1()
ActiveSheet.Range("a5", ActiveSheet.Range("a5").End(xlDown).End(xlToRight)).Select
Selection.Copy
Sheets("TaskA").Select
Range("a5").Select
ActiveSheet.Paste
ActiveSheet.Range("d1", ActiveSheet.Range("d5").End(xlDown)).Select
Dim oZelle As Object
Dim i As Integer
For Each oZelle In Worksheets("TaskA").Range("d5", ActiveSheet.Range("d5").End(xlDown))
i = i + 1
If oZelle 
im optimalen fall gibt es zu der gefilterten tabelle noch eine schöne grafik über die Zeit (in Spalte "A" sind Tage)
Kann mir bitte jemand helfen?

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Bahnhof...
28.04.2017 12:52:58
ChrisL
hi bernhard
Verstehe leider kein Wort...
- was wäre das konkrete Ziel
- was funktioniert nicht
- Beispieldatei
cu
Chris
AW: Bahnhof...
28.04.2017 13:01:55
bernhard
https://www.herber.de/bbs/user/113170.xlsx
ich hoffe das stimmt so.
also ich will alle zeilen in ein neues tabellenblatt kopieren, die zwischen upper und lower limit liegen, oder alternativ alles kopieren und dann die reihen löschen, die ausserhalb des limits liegen.
mit dem vorher genannten code bin ich schon mal soweit, dass ich die tabelle kopiert bekomme. allerdings wird dabei nix gelöscht.
die originaldatei hat über 3500 zeilen.
Anzeige
Autofilter und kopieren
28.04.2017 13:26:09
ChrisL
Hi bernhard
Schleifen sind eher langsam, darum eine Variante mit Autofilter:
Sub Makro1()
Dim rngFilter As Range, wksNeu As Worksheet
Dim curMin As Currency, curMax As Currency
Application.ScreenUpdating = False
With Worksheets("Tabelle1")
Set rngFilter = .Range("A2:D" & .Cells(Rows.Count, 1).End(xlUp).Row)
rngFilter.AutoFilter
curMin = .Range("H9")
curMax = .Range("H10")
rngFilter.AutoFilter Field:=4, Criteria1:=">=" & curMin, _
Operator:=xlAnd, Criteria2:="

cu
Chris
AW: Autofilter und kopieren
28.04.2017 13:50:00
bernhard
danke dir für die antwort.
ich habe den code mal in der original-datei eingefügt und ausprobiert.
ergebnis: die komplette tabelle wird kopiert und in einem neuen tabellenblatt ausgegeben, ohne einem filter.
dann dachte ich, dass es vlt daran liegt dass in zelle H9 und H10 keine zahl steht, sondern eine formel hinterlegt wurde. also habe ich dort zahlen reingeschrieben, aber auch das änderte nix am ergebnis.
aber auch in der beispiel-tabelle funktioniert der code nicht, und kopiert nur die tabellenüberschriften
Anzeige
AW: Autofilter und kopieren
28.04.2017 13:56:15
ChrisL
hi bernhard
Auch Copy/Paste will gelernt sein ;)
https://www.herber.de/bbs/user/113176.xlsm
Zur Originaldatei kann ich keine Stellung nehmen, weil ich diese nicht kenne.
cu
Chris
AW: Autofilter und kopieren
28.04.2017 15:19:26
bernhard
hey chris!
tut mir leid, aber auch wenn ich deinen link öffne wird nur die überschrift in ein neues tabellenblatt kopiert, sonst tut sich da nix :O
bei mir funktionierts...
28.04.2017 15:29:01
ChrisL
einmal auf die Schaltfläche klicken und schwups...
Bin zwar mit Excel-Version 2007 unterwegs, aber es würde mich erstaunen, wenn es da einen Unterschied gibt. Ich lasse die Frage trotzdem mal offen, vielleicht kann dein Problem jemand nachvollziehen/rekonstruieren.
cu
Chris
Anzeige
so gehts...
28.04.2017 17:19:57
WalterK
Hallo Bernhard,
kleine Ergänzung (Replace) beim Code von Chris, weil beim Autofilter Kommazahlen zicken:
Sub Makro1()
Dim rngFilter As Range, wksNeu As Worksheet
Dim curMin As Currency, curMax As Currency
Application.ScreenUpdating = False
With Worksheets("Tabelle1")
Set rngFilter = .Range("A2:D" & .Cells(Rows.Count, 1).End(xlUp).Row)
rngFilter.AutoFilter
curMin = .Range("H9")
curMax = .Range("H10")
rngFilter.AutoFilter Field:=4, Criteria1:=">=" & Replace(curMin, ",", "."), _
Operator:=xlAnd, Criteria2:="
Servus, Walter
Dank! bin reingefallen
28.04.2017 17:30:06
ChrisL
Danke Werner und Sorry Bernhard...
Da bei mir das Dezimaltrennzeichen auf Punkt eingestellt ist, habe ich das Problem nicht erkannt.
Hatte es auch noch mit OpenOffice probiert und selbst da hat es funktioniert. Im Nachhinein ist es logisch.
Nichts für ungut Bernhard, ich hatte einen Moment lang tatsächlich an deinen Copy/Paste Künsten gezweifelt ;)
cu
Chris
Anzeige
AW: Danke auch von mir,.....
28.04.2017 18:17:33
mir,.....
nachdem ich eine Stunde lang rumprobiert hatte, z.B. mit Variant statt Currency, dann mit Ganzzahlen statt Formel.
Gerade war ich an dem Punkt, wo ich meine eigene Landeseinstellung ändern wollte!
Auf die Idee mit dem Replace wäre ich aber vermutlich erst nach einem halben Tag gekommen...
Feierabend gerettet.
Gruß, Margarete
AW: Danke auch von mir,.....
28.04.2017 22:40:51
mir,.....
sehr fein, funktioniert wunderbar und wurde von mir schon ein wenig angepasst. danke euch allen :)
finde es ziemlich nice wie schnell und kompetent hier geholfen wird. TOP

331 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige