Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Wildcard Suche in Suchergebnis
#11
Nein klappt nicht.

Ich bin wieder am Anfang. Wie bringe ich eine Selection oder einen Range in ein Array?

Ich mache einen Range mit dem Union Befehl


Code:
 Set rng = Union(rng, FoundCell)


Danach muss ich den rng in ein Array kriegen und nochmals durchsuchen, oder währen der Suche in einen zweiten Loop setzen.

Nur, ich krieg das einfach nicht hin.

Aber ich bin ziemlich sicher so würde es klappen.
Antworten Top
#12
Hallöchen,

da wirst Du wohl mehrere Arrays bilden oder Zellen einzeln übernehmen müssen. Eine direkte Übernahme geht nur mit einem zusammenhängenden Bereich Sad
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#13
oh.

Mein rng.Address spuckt dies aus

$S$17365,$S$57104,$S$71989:$S$71990,$S$72025:$S$72026,$S$15445

kann man diese Rows nicht in ein Array laden?
Antworten Top
#14
Hallöchen,

bei so wenigen Treffern würde ich selbige einzeln in ein Array überführen, sofern nötig.
Ansonsten nimmst Du $S$17365:$S$15445 in ein Array und filterst die Treffer raus. Das könnte z.B. so gehen:

Code:
Sub test()
arrRng1 = WorksheetFunction.Transpose(Range("$S$17365", "$S$15445"))
arrRng2 = Filter(arrRng1, "Anneliese")
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#15
Ich glaub ich bin zu blöd, aber wie krieg den Range nicht in das array?

Ich habe das gefunden, das geht ja auch, nur ich krieg die Inhalte nicht rein. Huh

Code:
Option Explicit

Sub SplitRangeAddrrtoArray()

Dim cells_addresses As Variant
Dim UnionRng As Range
Dim RngArea As Range
Dim C As Range
Dim i As Long
Dim Output_Array() As Variant

cells_addresses = "$A$1,$C$3:$F$3,$F$4"
ReDim Output_Array(0 To 1000) ' init array size >> will optimize later

Set UnionRng = Range(cells_addresses) '<-- Set a Range with the cells addresses provided
' loop through range's areas in case there are multiple areas
For Each RngArea In UnionRng.Areas
   For Each C In RngArea ' loop through the area's cells
       Output_Array(i) = C.Address
       i = i + 1
   Next C
Next RngArea
ReDim Preserve Output_Array(0 To i - 1) '<-- resize to actual populated size

End Sub
Antworten Top
#16
Hallöchen,

dann musst Du auch die Inhalte (Value) rein nehmen und nicht die Adressen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#17
Nun ich bin soweit weitergekommen als dass ich die Suchresultate in einen neuen Tab schreibe und von da halt die suche nochmals Starte mit dem Namen und dementsprechend nochmals ein neues Suchresultat erhalte.
Das erste ist quasi eine Zwischentabelle. Kann man eigentlich eine temp. Tabelle erstellen? Wie mit SQL?

So ist's nicht schön, aber ich krieg's in einem Schritt nicht hin.

Das ist dann etwa so aus:

Nach dem ersten Suchlauf (Strasse Nr, PLZ, Ort) erhalte ich ein Resultat von 40. (aus ca. 65k)
Dann suche ich nach dem Namen und erhalte am Schluss 8 (wenn alles so klappt wie gewünscht..)

ca 25 Sekunden dauert das ganze...

Meiner Meinung nach sicher ausbaufähig
Antworten Top
#18
Hallöchen,

eine Frage wäre, was Du unter einer temporären Tabelle verstehst. Array's hatten wir ja schon …
Manche legen auch ein Blatt an, spielen die Daten dort drauf, verarbeiten sie und löschen das Blatt dann wieder.

Deine Arrays springen auch ganz schön hin und her. Mal hast Du was irgendwo in Spalte S, dann in A1 und C3:F4, …

Wie gesagt, wenn Deine Daten so zerpflückt sind musst Du sie entweder einzeln in ein Array überführen und dann verarbeiten oder du findest eine Logik, um mit einem zusammenhängenden größeren Bereich zu arbeiten, den Du in einem Rutsch auslesen kannst.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#19
Nein, so kompliziert ist es ja gar nicht

Ich hab mir je eine Suchspalte gemacht.

Tabelle A - Suchspalte I
Tabelle B - Suchspalte S

Ergebis: Tabelle B (A:R) & Tabelle A (G:H)

mit temp. Tabelle meine ich eigentlich sowas wie ein Array. Ist ja quasi dasselbe. Ich würde ja auch ein Array nehmen, wenn ich nur den Scheiss da reinkriegen würde.
Ich hab die Ergebnisse jeweils in einen Range.entireRow gefasst, den ich dann über Selection in einen neuen Sheet kopiere. 
Wieso kann ich nicht einfach die Range.Address nehmen und die in ein neues Array füllen? Geht das nicht, weil ich die ganze Row markiere?
Wenn ich dem Row angeben könnte wie breit er ist, ginge es vielleicht..
Antworten Top
#20
Hach ich komm einfach nicht weiter

Ich wollte nun einen neuen Angriff starten mit SQL Query. Des ist aber so grottenlangsam und da krieg ich das Problem mit dem Namensfeld noch weniger in den Griff.
Bin eigentlich wieder am selben Punkt wie am Anfang. 
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste