Thema Datum  Von Nutzer Rating
Antwort
04.01.2023 15:23:04 Patrick
NotSolved
Blau VBA - Duplikate suchen und ausgeben
07.02.2023 19:03:21 Zero
NotSolved

Ansicht des Beitrags:
Von:
Zero
Datum:
07.02.2023 19:03:21
Views:
346
Rating: Antwort:
  Ja
Thema:
VBA - Duplikate suchen und ausgeben

Versuch das hier mal benutzung wie immer auf eigene gefahr ich hoffe ich konnte helfen

grüße Zero

Sub filter_and_output_results()
' Variablen deklarieren
Dim kw1 As String
Dim kw2 As String
Dim num_gleich As Long

' Eingabe des Benutzers abfragen
kw1 = InputBox("Geben Sie die letzte Kalenderwoche ein:")
kw2 = InputBox("Geben Sie die aktuelle Kalenderwoche ein:")

' Spalten A:C nach kw1 filtern und das Ergebnis in Zelle J2 ausgeben
Sheets("MASTER_DATEN").Range("A:C").AutoFilter Field:=1, Criteria1:=kw1, VisibleDropDown:=False
Cells(2, 10).Value = Application.WorksheetFunction.Subtotal(3, Range("A:A")) - 1

' Spalten A:C nach kw2 filtern und das Ergebnis in Zelle K2 ausgeben
Sheets("MASTER_DATEN").Range("A:C").AutoFilter Field:=1, Criteria1:=kw2, VisibleDropDown:=False
Cells(2, 11).Value = Application.WorksheetFunction.Subtotal(3, Range("A:A")) - 1

' Berechne K2-J2 und gebe das Ergebnis in Zelle N2 aus
Cells(2, 14).Value = Cells(2, 11).Value - Cells(2, 10).Value

' Spalten A:C nach kw1 filtern
ActiveSheet.Range("A:C").AutoFilter Field:=1, Criteria1:=kw1

' Durchlaufe alle Zeilen in der Tabelle
For i = 1 To 3000
    ' Wert in Spalte C abrufen
    value = Cells(i, 3).Value

    ' Überprüfen, ob der Wert in beiden kw1 und kw2 vorkommt
    If Application.WorksheetFunction.CountIf(Range("A:A"), kw2) > 1 And Application.WorksheetFunction.CountIf(Range("C:C"), value) > 1 Then
        ' Falls ja, Zähler für gemeinsame Werte erhöhen
        num_gleich = num_gleich + 1
    End If
Next i

' AutoFilter deaktivieren
If ActiveSheet.AutoFilterMode Then
    ActiveSheet.AutoFilterMode = False
End If

' Ergebnis und weitere Berechnungen ausgeben
Cells(2, 9).Value = num_gleich / 2
Cells(2, 12).Value = Cells(2, 10).Value - Cells(2, 9).Value
Cells(2, 13).Value = Cells(2, 11).Value - Cells(2, 9).Value

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
04.01.2023 15:23:04 Patrick
NotSolved
Blau VBA - Duplikate suchen und ausgeben
07.02.2023 19:03:21 Zero
NotSolved