Thema Datum  Von Nutzer Rating
Antwort
Rot Array als Block in gefilterten Bereich schreiben
25.08.2022 14:54:16 Steffi
NotSolved
25.08.2022 15:13:07 Gast20693
NotSolved
25.08.2022 16:59:42 Mase
NotSolved
25.08.2022 18:44:19 Steffi
NotSolved
25.08.2022 19:04:08 Gast01233
NotSolved
25.08.2022 22:48:16 Mase
NotSolved
26.08.2022 05:50:33 Steffi
NotSolved
26.08.2022 06:21:19 ralf_b
NotSolved
26.08.2022 07:04:49 Steffi
NotSolved
26.08.2022 09:18:18 Mase
NotSolved
26.08.2022 11:55:50 Steffi
NotSolved
29.08.2022 11:21:52 Mase
NotSolved
29.08.2022 11:24:51 Steffi
NotSolved
29.08.2022 12:47:10 Mase
Solved

Ansicht des Beitrags:
Von:
Steffi
Datum:
25.08.2022 14:54:16
Views:
326
Rating: Antwort:
  Ja
Thema:
Array als Block in gefilterten Bereich schreiben

Hallo zusammen,

ich habe ein Problem beim zurückschreiben eines Arrays als Block in einen teilweise gefilterten Bereich.

Die Größe, Dimension oder der Inhalt des Arrays ist irrelevant, das Verhalten ist immer gleich.

Mein Array bildet einen Bereich ab, viele Zeilen, viele Spalten und einige Zeilen werden aus den schon erstellten/eingelesenen Zeilen berechnet.

Quasi: Einlesen von Zeile 1 und Zeile 2 ins Array, dann Zeile 1 vom Array + Zeile 2 vom Array ergibt Zeile 3 vom Array. (vereinfacht)

Wenn alle Zeilen des Zielbereichs sichtbar sind geht das mit dem Zurückschreiben. Ich mach dann Range(Cells(x,y),Cells(x,y) = Array.

Dabei ist der Zellbereich (Cells(x,y)) von links oben bis unten rechts meines Zielbereichs.

Aber sobald eine Zeile des Zielbereichs durch den normalen Filter ausgeblendet wurde, wird das Array vom Inhalt noch richtig erstellt aber beim zurückschreiben in den teilweise gefilterten Zielbereich schreibt er nur noch die erste Zeile des Arrays in alle sichtbaren Zeilen des Zielbereichs.

Ich verstehe nicht wieso und ob man das beheben kann.

Wenn der Bereich komplett ausgeblendet ist, wird das Array auch korrekt erstellt und eingefügt. Es funktioniert einzig bei dem teilweise gefilterten Bereich nicht mit dem reinschreiben als Block.

Meine Möglichkeiten sind, das Array zeilenweise in den Bereich zurückzugeben oder vor dem blockweise zurückschreiben alle Zeilen wieder einzublenden. Ich würde gerne den Grund verstehen von dem Fehler (Bug?).

Mit dem Makro "testen" hab ich dann ganz stark vereinfacht einfach mal rumprobiert.

Ich hab die zweite Zeile vom Zielbereich mal ein- und ausgeblendet.

 

Sub testen()

Dim test As Variant
Dim i As Byte

ReDim test(1 To 3, 1 To 1)

For i = 1 To 3
    test(i, 1) = Cells(3 + i, 2)
Next i

'Cells(9, 2) = test(1, 1)
'Cells(10, 2) = test(2, 1)
'Cells(11, 2) = test(3, 1)

Range(Cells(9, 2), Cells(11, 2)) = test

End Sub


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Array als Block in gefilterten Bereich schreiben
25.08.2022 14:54:16 Steffi
NotSolved
25.08.2022 15:13:07 Gast20693
NotSolved
25.08.2022 16:59:42 Mase
NotSolved
25.08.2022 18:44:19 Steffi
NotSolved
25.08.2022 19:04:08 Gast01233
NotSolved
25.08.2022 22:48:16 Mase
NotSolved
26.08.2022 05:50:33 Steffi
NotSolved
26.08.2022 06:21:19 ralf_b
NotSolved
26.08.2022 07:04:49 Steffi
NotSolved
26.08.2022 09:18:18 Mase
NotSolved
26.08.2022 11:55:50 Steffi
NotSolved
29.08.2022 11:21:52 Mase
NotSolved
29.08.2022 11:24:51 Steffi
NotSolved
29.08.2022 12:47:10 Mase
Solved