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

Wieder mal gesucht: Rangebereich mit Kriterium

Wieder mal gesucht: Rangebereich mit Kriterium
Holger
Hallo und Guten Morgen Forum,
letzte Woche wurde mir sehr geholfen mit der Definition eines Rangebereiches,
der Zellen beinhaltet, welche ein Blank haben (SpecialCells TypeBlank).
Nun habe ich die VB Hilfe durchgelesen und mir die anderen SpecialCells Eigenschaften
durchgelesen. Leider entdeckte ich nichts in der Art eines Strings sowie alle Zellen,
die als WERT FORUM enthalten.
Gibt es eine Möglichkeit einen Rangebereich so zu definieren, dass nur Zellen enthalten sind,
die als Wert FORUM enthalten?
Falls nicht, wäre meine zweite Idee, nicht die letzte Zelle zu ermitteln, sondern die letzte
Zelle, die Forum enthält und so den Rangebereich einzuschränken.
Leider kenne ich nur SpecialCellsTypeLastCell und weß nicht wie ich die letzte Zelle
anhand eines Strings ermitteln kann.
Ich habe ein Datenblatt mit ungefähr 40,000 Zeilen und ungefähr die ersten 5000
enthalten das FORUM. Daher möchte ich das einschränken.
Kann mir da jemand bitte helfen?
Gruß
Holger

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

Betreff
Benutzer
Anzeige
AW: Wieder mal gesucht: Rangebereich mit Kriterium
03.12.2010 09:48:53
Beverly
Hi Holger,
Sub BereicheZusammenfassen()
Dim rngZelle As Range
Dim rngBereich As Range
For Each rngZelle In ActiveSheet.UsedRange.SpecialCells(xlConstants)
If rngZelle = "FORUM" Then
If rngBereich Is Nothing Then
Set rngBereich = rngZelle
Else
Set rngBereich = Union(rngBereich, rngZelle)
End If
End If
Next rngZelle
MsgBox rngBereich.Address
Set rngZelle = Nothing
Set rngBereich = Nothing
End Sub



AW: Wieder mal gesucht: Rangebereich mit Kriterium
03.12.2010 10:06:25
Holger,
Hallo Karin,
Vielen Dank für deinen Code, aber dauert das nicht sehr lange?
Denn anscheinend wird ja der komplette Rangebereich erstmal
durchgegangen und wenn ein Forum vorkommt, dem
neuem hinzugefügt.
Da könnte ich auch abfragen, ob Forum vorkommt und nur
dann meine Aktion ausführen.
Verstehst du was ich meine?
Es sind sehr viele Datensätze und ich wollte eigentlich die
Bereiche vorher definieren. Einmal in alle Zellen mit Forum
und alle ohne.
Und noch eine Frage: Wird da jede Zelle durchgegangen?
Denn bei zehn Spalten mal zehntausend zeilen
wären das ja 100.000 Zellen zum Prüfen auf FORUM?
Gruß+Dank
Holger
Anzeige
AW: Wieder mal gesucht: Rangebereich mit Kriterium
03.12.2010 10:23:21
Beverly
Hi Holger,
Gibt es eine Möglichkeit einen Rangebereich so zu definieren, dass nur Zellen enthalten sind,
die als Wert FORUM enthalten?
Genau das macht der Code - was du dann weiter damit machen willst stand nicht in deinem Beitrag.
Es werden alle Zellen mit Werten (jedoch keine Formeln) durchsucht.
Du kannst es auch mit Find versuchen - schau dazu in der VBA-Hilfe zum Stichwort Range.FindNext-Methode.


Ich brauche einen Rat
03.12.2010 12:51:36
Holger,
Hallo Karin,
die FINDNEXT Methode habe ich in einem anderen Zusammenhang schon benutzt.
Hier ist meine Frage: Wenn 1000 Treffer zu erwarten sind, ist das dann nicht auch
sehr langsam und umständlich?`
Es ist ein großes Projekt und ich muss auf Performance achten und bräuchte
da als Anfänger den Ratschlag von erfahrenen Programmieren.
Wie würdest du das angehen?
Anzeige
AW: Ich brauche einen Rat
03.12.2010 15:39:24
Beverly
Hi Holger,
ich würde einfach beide Methoden mal testen und für beide die Zeit ermitteln die sie benötigen. Dazu kannst du an den Anfang des Codes die Zeile Range("A1") = Now und ans Ende Range("A2") = Now schreiben (Zelladressen natürlich anpassen) - die Differenz aus beiden Zellen ergibt die Dauer.
Über eins musst du dir jedoch im Klaren sein: bei einer derart umfangreichen Datenmenge musst du schon generell gesehen etwas Zeit einplanen.
Es ist aber auch die Frage, was du überhaupt machen willst und wie dein Tabellenblatt aufgebaut ist. Steht z.B. bis ca. Zeile 5.000 in jeder Zeile der Suchbegriff mindestens 1 mal oder nicht, kann man vielleicht irgendwie anders feststellen, ab welcher Zeile die Zellen ohne Suchbegriff beginnen, wie sieht dein derzeitiger Code aus usw. Möglicherweise kann man das Ganze ja insgesamt irgendwie schneller machen. Aber - ohne die Arbeitsmappe zu kennen und ohne zu wissen was du erreichen willst, kann man nichts Konkretes dazu sagen.


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige