Microsoft Excel

Herbers Excel/VBA-Archiv

Mehrfachwerte in Spalte | Herbers Excel-Forum


Betrifft: Mehrfachwerte in Spalte von: Dieter
Geschrieben am: 07.01.2010 18:17:48

Hallo Forum,
für mich als Gelegenheitsanwender ein Problem: In Spalte D der Tabelle1 stehen tausende von Artikelnummern, denen in Spalte A ein Lagerort zugeordnet ist. Nun gibt es leider gelegentlich eine Artikelnummer doppelt oder mehrfach an verschiedenen Lagerorten. Ich möchte die Zeile mit der ersten auftretende Artikelnummer in der Tabelle1 belassen und die Zeilen der weiter auftretenden gleichen Artikelnummern löschen und in eine Tabelle2 schreiben. Bitte helft mir mit einem Tipp oder Beispiel.
Danke
Gruß Dieter

  

Betrifft: AW: Mehrfachwerte in Spalte von: Daniel
Geschrieben am: 07.01.2010 18:29:44

Hi

1. Daten nach Artikelnummer sortieren
2. folgende Formel einfügen und nach unten kopieren:
die Formel ist Geschrieben für Zelle X2, die Artikelnummern stehen sin Spalte A, erste Zeile ist Überschrift:
=Wenn(A1=A2;X1+1;1)
3. diese Formel nach unten kopieren
4. in spalte X mit kopieren und Inhalte Einfügen - Werte die Formeln fixieren
5. Daten nach Spalte X sortieren
6. mit dem Autofilter nach >1 filtern
7. die gefilterten Zeilen ausschneiden und in der 2. Tabelle einfügen.

Gruß, Daniel


  

Betrifft: AW: Mehrfachwerte in Spalte von: Dieter
Geschrieben am: 07.01.2010 20:19:04

Hallo Daniel,
vielen Dank für die schnelle Hilfe mit der Superlösung. Für diesen eiligen Fall genau passend. Die "Inventurtabelle" werde ich entsprechend anpassen und versuchen, das Problem mittels Makro zu bearbeiten. Also nochmals danke.

Gruß Dieter


  

Betrifft: AW: Mehrfachwerte in Spalte von: Josef Ehrensberger
Geschrieben am: 07.01.2010 18:36:27

Hallo Dieter,

Code in ein allgemeines Modul kopieren.

Der Code bezieht sich auf das aktive Blatt!

' **********************************************************************
' Modul: Modul5 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub removeDoubleNumbers()
  Dim rng As Range, rngMove As Range
  Dim lngFirst As Long, lngLast As Long
  Dim objSh As Worksheet
  Dim vntRet As Variant
  
  lngFirst = 2 'erste zeile mit daten - anpassen!
  
  With ActiveSheet
    lngLast = Application.Max(lngFirst, .Cells(.Rows.Count, 4).End(xlUp).Row)
    .Columns(5).Insert
    .Cells(lngFirst, 5).Formula = "=COUNTIF(" & .Cells(lngFirst, 4).Address & ":" _
      & .Cells(lngFirst, 4).Address(0, 0) & "," & .Cells(lngFirst, 4).Address(0, 0) _
      & ")"
    .Range(.Cells(lngFirst, 5), .Cells(lngLast, 5)).FillDown
    
    For Each rng In .Range(.Cells(lngFirst, 5), .Cells(lngLast, 5))
      If rng > 1 Then
        If rngMove Is Nothing Then
          Set rngMove = rng.EntireRow
        Else
          Set rngMove = Union(rngMove, rng.EntireRow)
        End If
      End If
    Next
    
    .Columns(5).Delete
    
  End With
  
  If Not rngMove Is Nothing Then
    Set objSh = Worksheets.Add(after:=ActiveSheet)
    objSh.Name = "Doppelte_" & Format(Now, "dd.MM.yyyy_hhmmss")
    rngMove.Copy objSh.Cells(1, 1)
    rngMove.Delete
  End If
  
  Set rng = Nothing
  Set rngMove = Nothing
  Set objSh = Nothing
End Sub



Gruß Sepp



  

Betrifft: AW: Mehrfachwerte in Spalte von: Dieter
Geschrieben am: 07.01.2010 20:10:36

Hallo Sepp,
danke für die schnelle Antwort. Ich habe der Eile wegen zunächst die Formellösung benutzt. Am Wochenende empfinde ich Deinen Code nach und baue ihn in meine Konstruktion ein. Also vielen Dank.
Gruß Dieter


Beiträge aus den Excel-Beispielen zum Thema "Mehrfachwerte in Spalte"