Thema Datum  Von Nutzer Rating
Antwort
07.03.2011 09:48:15 Martin
NotSolved
08.03.2011 15:52:46 Severus
NotSolved
Rot VBA DUplikate
08.03.2011 23:00:40 Uwe K.
NotSolved
18.05.2011 23:37:04 TheQuest
NotSolved

Ansicht des Beitrags:
Von:
Uwe K.
Datum:
08.03.2011 23:00:40
Views:
959
Rating: Antwort:
  Ja
Thema:
VBA DUplikate
Servus Martin,
hab Dir mal was geschrieben und verständnishalber auskommendiert.
Nimm den Code und kopiere in in ein neues Modul.
Makiere dann die Zelle in der der zu suchenende Artikel steht. Starte dann das Makro und
gebe bei der Anfrage nach der Spalte die Spalte als Zahl an in der die zu addierenden Preise stehen.
Im Anschluß werden alle Werte addiert und die Zeilen mit Duplikaten gelöscht

Option Base 1

Sub Arikel_Suchen()
Dim Gz As Long 'anzahl genutzte Zeilen ermitteln
Dim such_Begriff As Variant 'Suchbegriff
Dim such_Sp As Integer 'Spalte in der gesucht werden soll, wird bestimmt von aktiver zelle
Dim suchsaMmel() As Integer 'Datenfeld zu sammel der Zeilennummern in der, der Artikel gefunden wurde
Dim aDdierer As Variant 'Summe aller Artikelwerte die gefunden wurde
Dim spalTe_Plus As Integer ' Spaltennummer in der die zu addierenden Werte stehen
Dim wie_Häufig As Integer
Dim hilf_Index As Integer
'Bevor du das Makro startest markiere bitte die Zelle in der, der zu suchende_
'Artikelname steht. Danach wirst du gefragt in welcher Spalte die zu addierenden_
'Werte stehen.
'Viel Spaß damit
' Gruß Uwe


spalTe_Plus = InputBox("Die Werte welcher Spalte sollen addiert werden" & Chr(10) & _
"Gib die Spalte als Zahl an!!!")
If IsNumeric(spalTe_Plus) = False Then 'Wenn die Spalte in der du suchen willst nicht numerisch angeben wurde Fehler
    MsgBox ("Der von Ihnen eingegeben Wert enthält keine Zeichen oder ist keine Zahl")
    Exit Sub
End If
such_Sp = ActiveCell.Column 'Aktive Spalte bestimmt Spalte in der gesucht wird
such_Begriff = ActiveCell.Value 'Aktive Zelle-Inhalt bestimmt nach was gesucht wird


Gz = Cells(Rows.Count, such_Sp).End(xlUp).Row 'Feststellen bis zu welcher Reihe Werte eingetragen sind

For a = 1 To Gz
    If Cells(a, such_Sp) = such_Begriff Then
        wie_Häufig = wie_Häufig + 1 'Zähler wie häufig Suchwert in Spalte auftaucht
    End If
Next a
    If wie_Häufig = 1 Or wie_Häufig = 0 Then
    MsgBox ("Es wurde nur ein Datensatz mit Ihren Angaben gefunden")
    Exit Sub
End If
    ReDim suchsaMmel(wie_Häufig) 'Datenfeld abhängig von gefundenen Datensätzen neu dimensonieren
    hilf_Index = 1 'hilf_Index Variable vorbesetzen mit "1" weil wir die Untergrenze des Datenfeldes mit Option Base 1 auf 1 gesetzt haben
    For a = 1 To Gz
        If Cells(a, such_Sp) = such_Begriff Then
            suchsaMmel(hilf_Index) = a
        hilf_Index = hilf_Index + 1
    End If
Next a
If wie_Häufig = 1 Or wie_Häufig = 0 Then
    MsgBox ("Es wurde nur ein Datensatz mit Ihren Angaben gefunden")
    Exit Sub
Else
   Cells(suchsaMmel(1), spalTe_Plus).Activate
    aDdierer = Cells(suchsaMmel(1), spalTe_Plus).Value
    For c = hilf_Index - 1 To 2 Step -1
        aDdierer = aDdierer + Cells(suchsaMmel(c), spalTe_Plus).Value
        Cells(suchsaMmel(c), such_Sp).EntireRow.Delete
    Next c
    Cells(suchsaMmel(1), spalTe_Plus).Value = aDdierer
End If
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
07.03.2011 09:48:15 Martin
NotSolved
08.03.2011 15:52:46 Severus
NotSolved
Rot VBA DUplikate
08.03.2011 23:00:40 Uwe K.
NotSolved
18.05.2011 23:37:04 TheQuest
NotSolved