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

VBA: Zeile über oberste sichtbare gefilterte Zeile kopieren

VBA: Zeile über oberste sichtbare gefilterte Zeile kopieren
30.10.2023 12:26:59
Joachim Graw
Hallo zusammen,

ich bitte um Hilfe bei folgender Fragestellung. Hätte gern ein Bild hochgeladen, aber das geht - glaube ich - nicht ? Die Tabelle kann ich nicht hochladen, da sensibel, deswegen beschreibe ich nachfolgend hoffentlich verständlich.

Ich möchte mit einem vorgeschalteten Excel-Formular eine darin gefilterte Zeile in einer Excel-Liste in einem anderen Sheet ändern können.

Es gibt:
- Ein Sheet "FormularNeuanlage" - hier werden Prozessdaten zellenweise neu erfasst und mit einem Makro in einer Tabelle im Sheet "Prozesse" in eine Tabelle "Prozesse" eingetragen.
- Das Sheet "Prozesse" - hier werden die o.g. neuen Prozesse über das Makro eingetragen, immer als oberste Zeile A11:BD11 ; die bereits vorhandenen Zeilen werden eine Zeile nach unten gerückt.
- Ein Sheet "FormularÄndern" - hier wird zum einen über einen VBA-Autofilter immer genau ein Datensatz in der Tabelle Prozesse gefiltert und im Sheet "FormularÄndern" zellenweise angezeigt.

Im "FormularÄndern" können dann in einzelnen Zellen Änderungen vorgenommen werden. Diese Änderungen werden dann zusammen mit den nicht geänderten Zellen in einer (!) Zeile über der Tabelle im Sheet "Prozesse" mit einem genau gleichen Zeilenaufbau wie der Rest der Tabelle angezeigt. Bis hierher funktioniert alles.

Ich habe rechts neben der Tabelle im Sheet "Prozesse" eine Hilfsspalte angefügt, die immer die jeweilige wirkliche Zeilennummer der gefilterten Einzelzeile anzeigt. Jetzt geht darum, dass die über der Tabelle immer in Zeile 8 befindliche Zeile quasi über die eine einzige gefilterte Zeile (die immer die einzige sichtbare Zeile ist und sich immer direkt unter Zeile 10 befindet, aber wegen des Autofilters nicht immer Zeile 11 ist, sondern auch die Zeile 99 oder 212 sein kann) kopiert wird.

Und da hakt es. ich habe keine Ahnung, wie ich das mit VBA abbilde und würde mich sehr über Hilfe freuen.

Beste Grüße
Joachim

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Zeile über oberste sichtbare gefilterte Zeile kopieren
30.10.2023 12:38:48
ralf_b
Zitat: Ich habe rechts neben der Tabelle im Sheet "Prozesse" eine Hilfsspalte angefügt, die immer die jeweilige wirkliche Zeilennummer der gefilterten Einzelzeile anzeigt. Jetzt geht darum, dass die über der Tabelle immer in Zeile 8 befindliche Zeile quasi über die eine einzige gefilterte Zeile (die immer die einzige sichtbare Zeile ist und sich immer direkt unter Zeile 10 befindet, aber wegen des Autofilters nicht immer Zeile 11 ist, sondern auch die Zeile 99 oder 212 sein kann) kopiert wird.

Sorry aber, bei dem Text dreht sich mir alles.

Sichtbare Zeilen unterscheiden sich von weggefilterten Zeilen in der Zeilenhöhe. Eine for-next Schleife über den Bereich sollte dann genügen.
Anzeige
AW: VBA: Zeile über oberste sichtbare gefilterte Zeile kopieren
30.10.2023 16:59:11
GerdL
Hallo Joachim,

probier mal.
Sub Unit()

Dim b As Long

With Sheets("Prozesse").ListObjects("Prozesse")
For b = 1 To .ListRows.Count
If .DataBodyRange.Cells(b, 1).RowHeight > 0 Then
Exit For
End If
Next
.Range.AutoFilter
.ListRows.Add b, True
.DataBodyRange.Cells(b, 1).Resize(1, .Range.Columns.Count) = _
.Parent.Cells(8, .Range.Column).Resize(1, .Range.Columns.Count).Value
End With

End Sub

Gruß Gerd
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige