Das Ergebnis nach Codeausführung und öffnen des Autofilters.
Die Anzahl der kopierten Spalten wird im Code ermittelt. Werden mehr Zeilen kopiert als gefltert sind, so werden die restlichen unten angefügt.
Der Code für ein allgemeines Modul.
Unter Extras - Verweise muss die Microsoft Forms 2.0 Object Library eingebunden sein.
Public Sub Daten_in_gefilterte_Zeilen_einfügen()
'#################################################################
'Code für ein allgemeines Modul
'Unter Extras -> Verweise ist ein Häkchen bei "Microsoft Forms 2.0 Object Library" gesetzt!
'Code fügt Daten in sichtbare Zeilen einer gefilterten Tabelle ein
'Autor: Jürgen Hennekes
'#################################################################
On Error Resume Next
Dim objZA As New DataObject
Dim SPL1 As Variant
Dim SPL2 As Variant
Dim lngZ As Long
Dim lngZZ As Long
Dim intI As Integer
Dim intS As Integer
Dim strText As String
objZA.GetFromClipboard
strText = objZA.GetText
If Err.Number <> 0 Then
MsgBox "Es wurden keine Daten kopiert!", 48
Exit Sub
End If
lngZZ = ActiveCell.Row
intS = ActiveCell.Column
SPL1 = Split(strText, Chr(10))
For lngZ = 0 To UBound(SPL1) - 1
For lngZZ = lngZZ To 65536
If Cells(lngZZ, intS).EntireRow.Hidden = False Then
SPL2 = Split(SPL1(lngZ), Chr(9))
For intI = 0 To UBound(SPL2)
Cells(lngZZ, intS + intI).Value = _
LTrim(RTrim(WorksheetFunction.Proper(Replace(SPL2(intI), Chr(13), ""))))
Next
lngZZ = lngZZ + 1
Exit For
End If
Next
Next
End Sub