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

Ersten Wert suchen

Ersten Wert suchen
21.09.2016 09:46:41
Andi...
Hallo zusammen,
ich bräuchte eure Hilfe.
In der Tabelle werden monatlich Preise für die Artikel eingetragen.
Nun ist es so das neue Artikel nicht schon im Januar einen Preis haben sondern erst wenn sie in die Liste aufgenommen werden. Ich möchte jetzt immer den ersten Preis für einen Artikel in eine Spalte ausgeben. Die Preis für die Artikel befinden sich in den Spalten AA und dann immer in 7er Schritten weiter.
Ich habe auch schon ein Makro geschrieben was auch funktioniert, nur ist es wieder sehr langsam bei mehr als 20.000 Zeilen:
Sub Ausgangs_P()
Dim Daten As Worksheet
Dim i As Long
Dim y As Long
Dim bolFound, bolNotFound As Boolean
Set Daten = Worksheets("Daten")
bolNotFound = False
For i = 3 To Daten.cells(Rows.Count, 1).End(xlUp).Row
For y = 27 To Daten.cells(i, Columns.Count).End(xlToLeft).Column Step 7
If IsNumeric(cells(i, y)) Then
cells(i, 11) = cells(i, y)
If Not IsEmpty(cells(i, 11)) Then
bolFound = True
Exit For
End If
End If
Next y
Next i
End Sub

Vielleicht hat jemand von euch eine Idee wie das schneller gehen könnte.
Vielen Dank und Grüße
Andi

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

Betreff
Datum
Anwender
Anzeige
AW: eine Musterdatei...
21.09.2016 09:54:30
UweD
... wäre hier sinnvoll (mit reduzierter Datenmenge)
AW: eine Musterdatei...
21.09.2016 13:04:46
yummi
Hallo Andi,
mal so als Tipp
reduziere die Anzahl der berechnungen
1. For i = 3 To Daten.Cells(Rows.Count, 1).End(xlUp).Row
kanst Du aus der Schleife rausziehen und eienr Variablen zuweisen, damit wird das nicht in jedem Schleifendurchlauf neu berechnet (bringt zwar nicht viel)
2.

With Application
.ScreenUpdating = FALSE
.AskToUpdateLinks = FALSE
.EnableEvents = FALSE
.Calculation = FALSE
.DisplayAlerts = FALSE
End With

vor deien Schleife und danach wieder alles auf TRUE
Gruß
yummi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige