Thema Datum  Von Nutzer Rating
Antwort
Rot bestimmten gefilterten Zellenbereich kopieren
28.07.2014 08:39:04 Hans Peter
Solved
28.07.2014 11:27:16 Hans Peter
Solved

Ansicht des Beitrags:
Von:
Hans Peter
Datum:
28.07.2014 08:39:04
Views:
1157
Rating: Antwort:
 Nein
Thema:
bestimmten gefilterten Zellenbereich kopieren

Guten Morgen Community,

ich habe eine Tabelle nach einem bestimmtem Kriterium gefiltert und muss jetzt die ersten 10 Zeilen markieren, danach die nächsten 10 usw.
In der ersten Zeile steht auch eine Überschrift, die sollte natürlich nicht mitkopiert werden.

Also der Start- & Endpunkt sollte dann so sein:
1. 1 / 11
2. 12 / 22
3. 23 / 33
usw.

Da die Zellen jedoch komplett unterschiedliche  Reihenwerte haben, schaffe ich das Markieren einfach nicht. Mein Code erstmal:

Function FilterErsteZelle(startp As Integer) As Range

   Dim rngSrc As Range, rngDst As Range
    
   If ActiveSheet.AutoFilterMode And ActiveSheet.FilterMode Then
      Set rngSrc = ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible)
      If rngSrc.Areas(1).Rows.Count > 1 Then
         Set rngDst = rngSrc.Areas(1).Cells(2, 1)
      ElseIf rngSrc.Areas.Count > 1 Then
         Set rngDst = rngSrc.Areas(2).Cells(startp + 1, 1)
      End If
      If Not rngDst Is Nothing Then Set FilterErsteZelle = rngDst
   End If
End Function

Function FilterLetzteZelle(endp As Integer) As Range
    Dim rngSrc As Range, lastRow As Range
    Dim valueRange As Range
    Dim valueRow As Range
    Dim sumRows As Integer
    
    Set valueRange = Range("A2:A" & Cells(Rows.Count, "A").End(xlUp).row)
    
    If ActiveSheet.AutoFilterMode And ActiveSheet.FilterMode Then
        For Each valueRow In valueRange
            If valueRow.EntireRow.Hidden = False Then sumRows = sumRows + 1
        Next
        Set rngSrc = ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible)
        If rngSrc.Areas(1).Rows.Count > 1 Then
            Set lastRow = rngSrc.Areas(1).Cells(sumRows - (endp - 1), 1)
        ElseIf rngSrc.Areas.Count > 1 Then
            Set lastRow = rngSrc.Areas(2).Cells(sumRows - (endp - 1), 1)
        End If
        If Not lastRow Is Nothing Then SetFilterLetzteZelle = lastRow
    End If
End Function

Hoffentlich kann mir hier jemand helfen.

LG
Hans Peter

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 bestimmten gefilterten Zellenbereich kopieren
28.07.2014 08:39:04 Hans Peter
Solved
28.07.2014 11:27:16 Hans Peter
Solved