Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Automatisierung mittels Schleife möglich?

Automatisierung mittels Schleife möglich?
Nadine
Hallo liebe Excel Profis,
ich habe ein riesen Problem und hoffe hier hilfe zu finden. Bin leider noch recht unerfahren in excel programmierung und muß für eine Arbeit große Datenmengen sortieren und berechnen. Am einfachsten wäre es, wenn ich es automatisieren könnte. Ich beschreibe mal mein problem:
- in der Spalte A ab Zeile 3 befindet sich die Datenmenge (jetzt z.B. 8760 Zahlenwerte, später vlt auch mehr)
- diese Menge soll gleichmäßig in Blöcke mit je 24 Werten eingeteilt werden.
- in jedem Datenblock (mit jetzt 24 Werten) sollen die x niedrigsten, und die y höchsten werte seperat angezeigt werden (vielleicht in Spalte C=niedrigste und E=höchste)
...x und y sind variable Werte die aus vorherigen Berechnungen resultieren und im Tabellenblatt in der obersten Zeile hinterlegt sind
ich kenne die funktion 'kkleinste' und 'kgrößte', habe es aber nicht hinbekommen das es variabel mit den für x und y eingegebenen werten funktioniert.
habe mal meine testdatei hochgeladen, sie ist nur ein ausschnitt aus einer großen arbeitsmappe:
https://www.herber.de/bbs/user/78276.xlsx
für hilfe wäre ich sehr dankbar!
beste grüße
Nadine
Anzeige
AW: Automatisierung mittels Schleife möglich?
07.01.2012 13:04:07
ransi
Hallo Nadine
Schau mal ob das so passt:
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit


Public Sub machs()
    Dim L As Long
    For L = 3 To 10000 Step 25 'Bis A10000. Anpassen.
        With Sheets("Tabelle1").Cells(L, 1)
            .Offset(0, 2).Resize(5).Formula = "=SMALL(" & .Resize(25).Address & ",Row(A1))"
            .Offset(0, 4).Resize(3).Formula = "=LARGE(" & .Resize(25).Address & ",Row(A1))"
        End With
    Next
End Sub


ransi
Anzeige
AW: Automatisierung mittels Schleife möglich?
07.01.2012 13:47:15
Nadine
super ransi! das läuft schonmal!
aber leider muß es flexibeler sein.
- ist es möglich für x kleinste werte (y größte werte) eine verbindung mit der zelle in der die ziffer steht (hier: C1, bzw.E1 )zu schaffen? das excel also dieses feld ausliest und mir dementsprechend kleinste, bzw. größte werte ausgiebt?
-kann die schleife so lange durchlaufen werden bis keine daten mehr in spalte a stehen? ziel ist es beliebig viele daten (z.B. 26280 oder mehr) dort einzuladen
Anzeige
AW: Automatisierung mittels Schleife möglich?
07.01.2012 13:58:40
Andre´
Hallo Nadine,
probier mal dies:
Public Sub machss()
Dim L As Long
For L = 3 To 1000000 Step 25
With Sheets("Tabelle1").Cells(L, 1)
If .Offset(0, 0) = "" Then GoTo Ende
.Offset(0, 2).Resize([c1]).Formula = "=SMALL(" & .Resize(25).Address & ",Row(A1))"
.Offset(0, 4).Resize([e1]).Formula = "=LARGE(" & .Resize(25).Address & ",Row(A1))"
End With
Next
Ende:
End Sub
MFG Andre
Anzeige
AW: Automatisierung mittels Schleife möglich?
07.01.2012 14:14:57
Andre´
Hallo Nadine,
falls das Tabellenblatt 1 nicht aktiv ist geht es mit nachfolgenden Code besser:
Public Sub machsss()
Dim L As Long
For L = 3 To 1000000 Step 25 'Bis A10000. Anpassen.
With Sheets("Tabelle1").Cells(L, 1)
If .Offset(0, 0) = "" Then GoTo Ende
.Offset(0, 2).Resize(Sheets("Tabelle1").Range("C1")).Formula = "=SMALL(" & .Resize( _
25).Address & ",Row(A1))"
.Offset(0, 4).Resize(Sheets("Tabelle1").Range("E1")).Formula = "=LARGE(" & .Resize( _
25).Address & ",Row(A1))"
End With
Next
Ende:
End Sub
MFG Andre
Anzeige
AW: Automatisierung mittels Schleife möglich?
07.01.2012 14:42:57
Nadine
Danke! es funktioniert!!!
AW: Automatisierung mittels Schleife möglich?
07.01.2012 15:10:25
Nadine
super! vielen herzlichen dank für die schnelle hilfe!
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige