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

Speicherreihenfolge bei Union Range Var

Speicherreihenfolge bei Union Range Var
14.04.2020 09:35:27
PunkteJoe
Hallo Herber Community,
ich suche nach Hilfe bei folgendem Code. Gibt es eine Möglichkeit wie man die Bereiche die in dem Code markiert werden, in der Reihenfolge ausdruckt, in der die "OKs" gefunden werden? In anderen Worten: Von oben nach unten. Im Moment kann ich keine Logik erkennen in der er die Bereiche in der Uninion Range Variable speichert. Dem Code nach würde ich verstehen, dass die Variablen von unten nach oben in Reihenfolge gespeichert werden, aber so ist es nicht. Es erscheint völlig zufällig.
Ich bin für eure Hilfe sehr dankbar.

Sub MarkierenDrucken()
Dim last As Long
Dim i As Long
Dim Druck As Range
With ActiveSheet
last = .Cells(.Rows.Count, 9).End(xlUp).Row
For i = last To 1 Step -1
If .Cells(i, 9).Value = "OK" Then
If Druck Is Nothing Then
Set Druck = .Cells(i, 1).Resize(31, 9)
Else
Set Druck = Union(Druck, .Cells(i, 1).Resize(31, 9))
End If
End If
Next i
End With
Druck.Select
Selection.PrintPreview
End Sub

Viele Grüße
PunkteJoe

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

Betreff
Datum
Anwender
Anzeige
AW: Speicherreihenfolge bei Union Range Var
14.04.2020 10:42:38
Daniel
Hi
Als erstes würde ich mal probieren, ob das Ergebnis besser ist, wenn die Schleife vorwärts läuft.
Ich sehe hier keine Notwendigkeit, sie rückwärts laufen zu lassen.
Wenn das auch nicht klappt, probiere folgende Alternative:
Blende doch die Zeile welche nicht gedruckt werden sollen aus und drucke dann alles gemeinsam aus.
Gruß Daniel
AW: Speicherreihenfolge bei Union Range Var
14.04.2020 11:29:07
PunkteJoe
Hallo Daniel,
vielen Dank für deine Hilfe. Wenn ich die Schleife vorwärts laufen lasse, wie du vorschlägst, druckt das Makro die Bereiche in der richtigen Reihenfolge von oben nach unten aus. Jetzt erschließt sich mir noch nicht ganz warum in der Rückwärts Schleife die Reihenfolge willkürlich gewählt wird, aber das Problem ist gelöst.
Nochmals vielen Dank für deine Denkhilfe.
Viele Grüße
PunkteJoe
Anzeige
AW: Speicherreihenfolge bei Union Range Var
14.04.2020 11:37:37
Luschi
Hallo PunkteJoe,
ich habe mir das mal angeschaut:
- bei mir steht ok in den Zellen I10, I14 und I18
- Druck hat den gültigen Schleifenbedingungen zufolge folgenden Bereiche:
- 1. mal: $A$18:$I$48
- 2. mal: $A$14:$I$48
- 3. mal: $A$10:$I$48
Das macht für mich keinen Sinn:
- setze in die If-Verzweigung einen Haltepunkt - F9-Taste
- schreibe einen zusätzlichen Befehl: Debug.Print Druck.Address
- und steppe dann mit F8 Taste weiter
Übrigens, bei dieser Schleife:

Sub test1()
Dim rg1 As Range, rg2 As Range
Set rg1 = Range("C22:C18")
For Each rg2 In rg1
Debug.Print rg2.Address
Next rg2
Set rg1 = Nothing: Set rg2 = Nothing
End Sub
wird immer die aufwärts gerichtete Reihenfolgen ausgegeben:
$C$19
$C$20
$C$21
$C$22
und nicht umgekehrt, wie im Schleifenkopf festgelegt!
Gruß von Luschi
aus klein-Paris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige