Thema Datum  Von Nutzer Rating
Antwort
22.05.2017 08:00:08 rotkiv
NotSolved
Blau Zelleninhalt als Kriterium - VBA/EXCEL
22.05.2017 09:54:15 SJ
NotSolved
22.05.2017 10:50:12 Gast11182
NotSolved
22.05.2017 14:21:52 SJ
NotSolved
22.05.2017 14:45:22 Gast38884
NotSolved
23.05.2017 08:00:14 SJ
NotSolved
23.05.2017 08:06:01 Gast10054
NotSolved
23.05.2017 08:13:51 SJ
NotSolved
23.05.2017 08:25:43 Gast92989
NotSolved
23.05.2017 09:46:59 SJ
NotSolved
23.05.2017 10:02:56 Gast89554
NotSolved
23.05.2017 10:12:44 Gast23110
NotSolved
23.05.2017 10:38:23 SJ
NotSolved
23.05.2017 11:26:10 Gast25593
NotSolved
23.05.2017 11:27:57 Gast86592
NotSolved
23.05.2017 11:29:42 SJ
NotSolved
23.05.2017 11:37:28 Gast8243
NotSolved
23.05.2017 11:54:56 SJ
NotSolved
23.05.2017 12:15:15 Gast87603
Solved
23.05.2017 12:24:24 Gast85769
NotSolved

Ansicht des Beitrags:
Von:
SJ
Datum:
22.05.2017 09:54:15
Views:
665
Rating: Antwort:
  Ja
Thema:
Zelleninhalt als Kriterium - VBA/EXCEL

Hallo,

ich würde das Problem wie folgt lösen:

Das Makro:

Option Explicit

Public Sub filterData()
    Dim wks As Worksheet
    Dim rng As Range, c As Range
    Dim sCmd As String
    Dim values() As Variant, valuesNeu() As Variant
    Dim dWert1 As Double, dWert2 As Double
    Dim i As Integer
    Dim v As Variant
    
    Set wks = ActiveSheet
    Set rng = wks.Range(wks.Range("B2"))
    
    dWert1 = wks.Range("D2")
    dWert2 = wks.Range("G2")
    
    sCmd = wks.Range("C2") & wks.Range("E2") & wks.Range("F2")
    
    values() = rng.Value
    ReDim valuesNeu(UBound(values()))
    
    Select Case sCmd
        Case "=":
            For Each v In values()
                If v = dWert1 Then
                    i = i + 1
                    valuesNeu(i - 1) = v
                End If
            Next v
        Case "<":
            For Each v In values()
                If v < dWert1 Then
                    i = i + 1
                    valuesNeu(i - 1) = v
                End If
            Next v
        Case ">":
            For Each v In values()
                If v > dWert1 Then
                    i = i + 1
                    valuesNeu(i - 1) = v
                End If
            Next v
        Case "<=":
            For Each v In values()
                If v <= dWert1 Then
                    i = i + 1
                    valuesNeu(i - 1) = v
                End If
            Next v
        Case ">=":
            For Each v In values()
                If v >= dWert1 Then
                    i = i + 1
                    valuesNeu(i - 1) = v
                End If
            Next v
        '//Weitere hier definieren..
        
        Case Else:
            MsgBox "Dieser Operator ist nicht definiert..", vbInformation
            GoTo cleanUp
    End Select
    
    With rng
        .Clear
        .Value = Application.Transpose(valuesNeu())
    End With
    
cleanUp:
    Set rng = Nothing
    Set wks = Nothing
End Sub

Viel Spaß beim anpassen ;)

Gruß


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
22.05.2017 08:00:08 rotkiv
NotSolved
Blau Zelleninhalt als Kriterium - VBA/EXCEL
22.05.2017 09:54:15 SJ
NotSolved
22.05.2017 10:50:12 Gast11182
NotSolved
22.05.2017 14:21:52 SJ
NotSolved
22.05.2017 14:45:22 Gast38884
NotSolved
23.05.2017 08:00:14 SJ
NotSolved
23.05.2017 08:06:01 Gast10054
NotSolved
23.05.2017 08:13:51 SJ
NotSolved
23.05.2017 08:25:43 Gast92989
NotSolved
23.05.2017 09:46:59 SJ
NotSolved
23.05.2017 10:02:56 Gast89554
NotSolved
23.05.2017 10:12:44 Gast23110
NotSolved
23.05.2017 10:38:23 SJ
NotSolved
23.05.2017 11:26:10 Gast25593
NotSolved
23.05.2017 11:27:57 Gast86592
NotSolved
23.05.2017 11:29:42 SJ
NotSolved
23.05.2017 11:37:28 Gast8243
NotSolved
23.05.2017 11:54:56 SJ
NotSolved
23.05.2017 12:15:15 Gast87603
Solved
23.05.2017 12:24:24 Gast85769
NotSolved