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

aus Union-Range einzelne Werte auslesen

aus Union-Range einzelne Werte auslesen
31.10.2014 12:47:21
Peter
Hallo Excel Experten,
ich habe ein Tabellenblatt mit 53 Spalten und x Zeilen.
Aus diesem Tabellenblatt sollen nach mehreren (6) Kriterien Zeilen ausgewählt werden.
Das kann man ja eigentlich gut mit Union machen und hat dann einen Range der benötigten Zeilen.
Für diese gefundenen Zeilen soll ein Extrakt aus 6 Spalten erzeugt werden.
Kann man aus dem Union-Range wieder einzelne Zeilen auslesen, und wenn ja, wie.
Oder ist es besser, die Zeilen gleich in ein Array zu speichern, das man dann ganz bequem auslesen kann.
Für sachdienliche Hinweise bereits vielen Dank im Voraus.
Gruß Peter

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: aus Union-Range einzelne Werte auslesen
31.10.2014 12:59:42
Daniel
Hi
wenn du mit Union die Zeilen zusammengestellt hast, kannst du dann mit Intersect aus diesen zeilen Spalten ausschneiden:
dim rngZeilen as Range
dim rngSpalten as Range
dim rngMix as range
set rngZeilen = Union(Rows(2), Rows(4), Range("6:8"), Rows(10))
Set rngSpalten = Union(Columns(3), Columns(5), Range("M:P"))
Set rngMix = Intersect(rngZeilen, rngSpalten)

Gruß Daniel

AW: aus Union-Range einzelne Werte auslesen
31.10.2014 13:11:00
Rudi
Hallo,
einen derart unzusammenhängenden Bereich kannst du aber nicht einfach auslesen.
z.B. gibt Debug.Print rngMix.Cells(3,2) mitnichten den Wert aus E6 wieder, sondern aus D4, da rngMix in C2 beginnt.
Ich würde ein Array nehmen.
Gruß
Rudi

Anzeige
AW: aus Union-Range einzelne Werte auslesen
31.10.2014 13:14:43
Peter
Hallo Daniel, hallo Rudi,
danke für Eure Tipps.
Ich galebe es ist besser, gleich eine Array zur Aufnahmen der infrage kommenden Zeilen zu verwenden.
Gruß Peter

AW: aus Union-Range einzelne Werte auslesen
31.10.2014 13:19:09
fcs
Hallo Peter,
ich würde die Auswertung komplett über Arrays machen.
Gruß
Franz
Code-Beispiel
Sub Auswertung()
Dim wksData As Worksheet
Dim arrData, arrErgebnis()
Dim Zeile_L As Long, Zeile_D As Long, Zeile_E As Long
Dim bolTreffer As Boolean, intTreffer As Integer
Set wksData = ActiveSheet
With wksData
Zeile_L = .Cells(.Rows.Count, 1).End(xlUp).Row
arrData = .Range(.Cells(2, 1), .Cells(Zeile_L, 54))
End With
intTreffer = 0
'Treffer-Zeilen markieren
For Zeile_D = LBound(arrData, 1) To UBound(arrData, 1)
bolTreffer = True
If Kriterium1 = True Then
If Kriterium2 = True Then
If Kriterium3 = True Then
If Kriterium4 = True Then
If Kriterium5 = True Then
If Kriterium6 = True Then
intTreffer = intTreffer + 1
Else
bolTreffer = False
End If
Else
bolTreffer = False
End If
Else
bolTreffer = False
End If
Else
bolTreffer = False
End If
Else
bolTreffer = False
End If
Else
bolTreffer = False
End If
arrData(Zeile_D, 54) = bolTreffer
Next
'Trefferzeilen auslesen
If intTreffer > 0 Then
ReDim arrErgebnis(1 To intTreffer, 1 To 6)
Zeile_E = 0
For Zeile_D = LBound(arrData, 1) To UBound(arrData, 1)
If arrData(Zeile_D, 54) = True Then
Zeile_E = Zeile_E + 1
arrErgebnis(Zeile_E, 1) = arrData(Zeile_D, 1)
arrErgebnis(Zeile_E, 2) = arrData(Zeile_D, 2)
arrErgebnis(Zeile_E, 3) = arrData(Zeile_D, 7)
arrErgebnis(Zeile_E, 4) = arrData(Zeile_D, 12)
arrErgebnis(Zeile_E, 5) = arrData(Zeile_D, 22)
arrErgebnis(Zeile_E, 6) = arrData(Zeile_D, 34)
End If
Next
End If
Erase arrData
End Sub

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige