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

Forumthread: Nach einem String suchen der mit A- beginnt

Nach einem String suchen der mit A- beginnt
11.10.2018 13:36:47
Christian
Hallo Forumsfeunde,
Ich suche nach einer Möglichkeit, das ich in einem Bereich nach einem Namen suche, der mit A- beginnt. Der nachfolgende Wert ist dabei egal. wie muss die Formel beim Fett gedruckten genau aussehen? Die drei % stehen für den xbeliebigen Text der vorkommt. Z.B: A-Vogel oder A-Meier oder A-Grün
-------------------------------------------------
Application.ScreenUpdating = False
laR = Cells(Rows.Count, 3).End(xlUp).Row
For Each c In Range("C3:C" & laR)
If IsDate(c.Text) Then
If Month(CDate(c.Text)) = mon And c.Offset(, 3) = "Elektronische Konsolidierungsproduktion" And c.Offset(, 6) = "Sendungen" And c.Offset(, 8) = "A-%%%" Then
objKst(c.Offset(, 8).Value) = objKst(c.Offset(, 8).Value) + c.Offset(, 7) * 1
End If
End If
Next c
------------------
Danke für eure Hilfe
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nach einem String suchen der mit A- beginnt
11.10.2018 13:40:11
Daniel
Hi
... And c.Offset(, 8) LIKE "A-*"
Gruß Daniel
AW: Nach einem String suchen der mit A- beginnt
11.10.2018 15:11:15
Christian
Hallo Daniel,
Mein Script läuft nun extrem langsam, gibt es auch alternativen, was nicht so rechenintensiv ist?
Danke dir
Christian
noch ne kleine Optimierung
11.10.2018 16:44:40
Daniel
Eventuell ist
... And Left(c.Offset(0, 8), 2) = "A-"
etwas schneller als Like, müsstet du aber testen
Gruß Daniel
Anzeige
AW: Nach einem String suchen der mit A- beginnt
11.10.2018 15:39:41
Daniel
Hi
1. unnötige Umwandlungen vermeiden. Wenn in Zelle c schon ein Datum steht (prüfst du ja ab), dann kannst du die Month-Funktion auch direkt auf den Zellwert anwenden:
statt Month(CDate(c.Text)) = mon reicht einfach: Month(c.value) = mon
außerdem ist der Zugriff auf .Value deutlich schneller als der Zugriff auf .Text
2. wenn du im IF mehrer mit AND vernüpfte Bedinugungen hast, dann mach daraus mehrere geschachtelte IF-Blöcke mit nur einer Bedinungsprüfung.
wenn du alles in ein IF und mit AND verknüpfst bringst, werden immer alle Bedingungen geprüft.
in geschachtelten IFs mit nur einer Bedingung wird nur die erste immer geprüft und die inneren nur dann, wenn das Ergebnis der vorherigen WAHR wahr, also wahrscheinlich deutlich weniger oft (hast du im Ansatz ja schon gemacht)
wenn man den Aufbau der Tabelle kennt, stellt man die Prüfung, die am wenigsten oft WAHR ergibt, an den Anfang.
3. wenn möglich, Schleife nur über die benötigten Zellen mit Zahlen laufen lassen. wenn in Spalte C echte datumswerte stehen, kannst du Schleife gleich nur über die Zellen mit einem Datumswert laufen lassen (ein Datum ist in Excel eine Zahl)
For Each c In Range("C3:C" & laR).specialCells(xlcelltypeconstants, 1)

damit kannst du dir auch das IF IsDate(c) sparen.
Gruß Daniel
Anzeige
AW: Nach einem String suchen der mit A- beginnt
11.10.2018 15:53:07
Christian
DANKE!!!!!
;

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