TweakPC

Zurück   Computer Hardware Forum - TweakPC > Games und Software > Programmiersprachen

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19.05.2008, 09:41   #1 (permalink)
Hardware Freak
 
Benutzerbild von bigfoot996
 

Registriert seit: 14.02.2005
Beiträge: 5.162

bigfoot996 ist jedem bekanntbigfoot996 ist jedem bekanntbigfoot996 ist jedem bekanntbigfoot996 ist jedem bekanntbigfoot996 ist jedem bekanntbigfoot996 ist jedem bekannt

Standard (VB[A]) Doppelte Teileinträge markieren/aussortieren lassen

Hallo hallo,

also ich fang gleich mal an, es geht um folgendes:

Ich hab ne Excel liste mit ca 6.000 Einträgen die wie folgt angeordnet sind:

User Name: Full Name:
xxx1xx Gerd Schmidt
xxx2xx Hans Peter Müller
xxx3xx Harald Junke
xxx1xx Gerd Schmidt

so eben, hoffe das is halbwegs verständlich. Da ich nun absolut NULL Bock hab, 6.000 Einträge von Hand nach irgendwelchen doppeltem ******* da durchzusuchen brauch ich da nen kleinen Trick.

Ich habs mal in "Programmiersprachen" reingetan, da ich denke dass man hier VBA oder sowas braucht (womit ich mich nich sonderlich gut auskenne^^)

Wäre echt dufte wenn mir da einer helfen könnte, gibt ne gute Bewertung wer mir ne passende Lösung liefert (als kleinen Ansporn sozusagen )

Gruß
bigfoot996
bigfoot996 ist offline   Mit Zitat antworten
Alt 19.05.2008, 10:00   #2 (permalink)
semi-diabolisch
 
Benutzerbild von [EID]-Mr.GiZMO
 

Registriert seit: 12.09.2005
Beiträge: 2.922

[EID]-Mr.GiZMO kann auf vieles stolz sein[EID]-Mr.GiZMO kann auf vieles stolz sein[EID]-Mr.GiZMO kann auf vieles stolz sein[EID]-Mr.GiZMO kann auf vieles stolz sein[EID]-Mr.GiZMO kann auf vieles stolz sein[EID]-Mr.GiZMO kann auf vieles stolz sein[EID]-Mr.GiZMO kann auf vieles stolz sein[EID]-Mr.GiZMO kann auf vieles stolz sein[EID]-Mr.GiZMO kann auf vieles stolz sein

Standard AW: (VB[A]) Doppelte Teileinträge markieren/aussortieren lassen

Hi,

ich gehe mal davon aus, dass in deinem Beispiel die Zeile von Gerd Schimdt gelöscht werden soll, oder?

Im Office 2007 gibt dafür es im Ribbon "Daten" einen Eintrag "Duplikate entfernen". Vielleicht funzt das (da müssen aber meiner Ansicht nach beide Zeilen absolut identisch sein).

Ansonsten vielleicht nach Name sortieren und dann die jeweilig zu vielen Zeilen löschen, wenn ich Zeit hätte könnte ich dir ein Makro basteln (evtl. später heute oder morgen). Oder du bekommst es selbst hin.
War mein Post nützlich für dich? Ein Danke oder eine Bewertung sind immer schön.
Teilnehmer der Initiative "User verbessern Qualität im Forum" | Meine Systeme

Darf ich mal bitte vorbei?! Das geht nach Kompetenz... Danke! | | | Einmal dachte ich, ich hätte Unrecht. Hab mich aber getäuscht!
"Es ist gelogen, dass Videogames Kids beeinflussen. Hätte Pacman das getan, würden wir heute durch dunkle Räume irren, Pillen fressen und elektronische Musik hören."

[EID]-Mr.GiZMO ist offline   Mit Zitat antworten
Alt 19.05.2008, 10:20   #3 (permalink)
Hardware Freak
 
Benutzerbild von bigfoot996
 

Registriert seit: 14.02.2005
Beiträge: 5.162

bigfoot996 ist jedem bekanntbigfoot996 ist jedem bekanntbigfoot996 ist jedem bekanntbigfoot996 ist jedem bekanntbigfoot996 ist jedem bekanntbigfoot996 ist jedem bekannt

Standard AW: (VB[A]) Doppelte Teileinträge markieren/aussortieren lassen

Zitat:
Zitat von [EID]-Mr.GiZMO Beitrag anzeigen
Hi,

ich gehe mal davon aus, dass in deinem Beispiel die Zeile von Gerd Schimdt gelöscht werden soll, oder?

Im Office 2007 gibt dafür es im Ribbon "Daten" einen Eintrag "Duplikate entfernen". Vielleicht funzt das (da müssen aber meiner Ansicht nach beide Zeilen absolut identisch sein).

Ansonsten vielleicht nach Name sortieren und dann die jeweilig zu vielen Zeilen löschen, wenn ich Zeit hätte könnte ich dir ein Makro basteln (evtl. später heute oder morgen). Oder du bekommst es selbst hin.
Moin Gizmo,

joa stimmt, zumindest teilweise. Wenn es irgendwie gehen sollte würd ich die doppelten Einträge nur irgendwie markieren lassen - in einer Farbe zum Beispiel oder Fett gedruckt etc.

Leider benutzen wir hier im Geschäft noch Office 2003 (Großbetrieb, da mal eben kurz ne viertel Millionen office Lizenzen updaten zahlt man nich mal so eben aus der Portokasse ).

Nach Name sortiert hab ich bereits, aber da wird man ja doof wenn man über 6k Einträge "von Hand" durchsuchen und markieren muss, das ist ja gerade das was ich nicht will *g*

An Makro hab ich auch schon gedacht und bin auch schon fleißig am probieren. Wie gesagt ich hab keine Ahnung von VBA, wenn du auf dem Gebiet vllt. schon etwas erfahrener bist als ich wär ich dir sehr dankbar wenn du da möglicherweise sowas zusammenschustern könntest wenns dir nicht allzuviel Umstände bereitet.

Gruß
biggi
bigfoot996 ist offline   Mit Zitat antworten
Alt 19.05.2008, 10:59   #4 (permalink)
semi-diabolisch
 
Benutzerbild von [EID]-Mr.GiZMO
 

Registriert seit: 12.09.2005
Beiträge: 2.922

[EID]-Mr.GiZMO kann auf vieles stolz sein[EID]-Mr.GiZMO kann auf vieles stolz sein[EID]-Mr.GiZMO kann auf vieles stolz sein[EID]-Mr.GiZMO kann auf vieles stolz sein[EID]-Mr.GiZMO kann auf vieles stolz sein[EID]-Mr.GiZMO kann auf vieles stolz sein[EID]-Mr.GiZMO kann auf vieles stolz sein[EID]-Mr.GiZMO kann auf vieles stolz sein[EID]-Mr.GiZMO kann auf vieles stolz sein

Standard AW: (VB[A]) Doppelte Teileinträge markieren/aussortieren lassen

Ich hab was gecodet!

Vorraussetung:
- Spalte 1 - Nr oder so
- Spalte 2 - Name

Das tut das Makro:
- Zählt Anzahl der Zeilen (also hier Datensätze)
- sortiert nach Name (Spalte 2)
- schaut von unten nach oben (musste ich jetzt auf die Schnelle so coden) nach gleichen Namen in zwei übereinanderstehenden Zeilen
- löscht die untere
- funktioniert auch bei 3, 4, 5... gleichen Namen
- behalten wird sortiertechnisch die Zeile mit der kleinsten Zahl in Spalte 1
- am Ende wieder nach Spalte 1 sortiert


Et voila:
Code:
' ANZAHL ZEILEN LESEN
    Function Zeilenzahl() As Integer
        Range("A1").Select
        Zeilenzahl = Selection.CurrentRegion.Rows.Count
    End Function
    

Sub Dupletten_loeschen()
'
' Dupletten_loeschen Makro
'

' SORTIEREN
    ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Add Key:=Range("B1"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Tabelle1").Sort
        .SetRange Range("A1:B" & Zeilenzahl())
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    
    
' VON UNTEN NACH OBERN DUPLETTEN LÖSCHEN
    Dim i As Integer
    
    For i = (Zeilenzahl() - 1) To 2 Step -1
        If Worksheets("Tabelle1").Cells(i - 1, 2) = Worksheets("Tabelle1").Cells(i, 2) Then Selection.Rows(i).EntireRow.Delete
    Next i
    
' WIEDER NACH NUMMER SORTIEREN
    ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Add Key:=Range("A1"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Tabelle1").Sort
        .SetRange Range("A1:B" & Zeilenzahl())
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
     
End Sub
Einfach per Alt+F11 VB öffnen und in ein Modul deiner Wahl packen.


Bei gewünschten Korrekturen, bitte melden.


So, back to work
[EID]-Mr.GiZMO ist offline   Mit Zitat antworten
Alt 19.05.2008, 11:19   #5 (permalink)
Hardware Freak
 
Benutzerbild von bigfoot996
 

Registriert seit: 14.02.2005
Beiträge: 5.162

bigfoot996 ist jedem bekanntbigfoot996 ist jedem bekanntbigfoot996 ist jedem bekanntbigfoot996 ist jedem bekanntbigfoot996 ist jedem bekanntbigfoot996 ist jedem bekannt

Standard AW: (VB[A]) Doppelte Teileinträge markieren/aussortieren lassen

Hey erstmal vielen Dank Gizmo für die Arbeit die du dir machst! Echt Spitze!

Jedoch klappt das ganze leider nich so, oder ich bin einfach unbegabt was vba anbelangt xD

http://www.tweakpc.de/forum/imagehos...15379c8a8c.jpg

Mach ich irgendwas falsch oder wie?

Geht das auch dass man Doppelte Einträge farblich hervorheben kann anstatt sie gleich zu löschen oder is das irgendwie zu aufwendig?

Gruß
biggi

EDIT: Mist....wenn dann sollte man den Namen der Datei auch schon überall rausschneiden....ach jw, sagt sowieso nix aus

EDIT2: Google'n hilft...*klick*
Jedoch sagt der mir dann dass nichts doppelt wäre....jetzt is nur die Frage ob das stimmt oder ob das Teil einfach nich richtig arbeitet in meiner Tabelle^^

EDIT3: Anfangs dachte ich es war eine schlechte Idee folgendes gefrickel durchrattern zu lassen, aber nach ca genau 45 Mins bearbeitungszeit hat es quasi ein perfektes Resultat geliefert:

Code:
Option Explicit

Sub Daten_vergleichen_über_2_Spalten()
Dim Suchname As String, letzte_Zeile_Bereich As Long, _
Wiederholungen As Long, Addresse As String, Zeilenwiederholungen As Long, _
letzte_Zeile_Spalte_A As Long, Spaltenwiederholung As Integer
Application.ScreenUpdating = False
letzte_Zeile_Spalte_A = Range("A65536").End(xlUp).Row
letzte_Zeile_Bereich = ActiveSheet.UsedRange.Rows.Count
For Wiederholungen = 2 To letzte_Zeile_Spalte_A
Suchname = Cells(Wiederholungen, 1)
For Zeilenwiederholungen = 2 To letzte_Zeile_Bereich
If Cells(Zeilenwiederholungen, Spaltenwiederholung) = Suchname Then
Cells(Wiederholungen, 1).Interior.ColorIndex = 4
Cells(Zeilenwiederholungen, Spaltenwiederholung).Interior.ColorIndex = 4
End If
Next
Next
Next
End Sub
Problem gelöst, dachte nich dass ich es doch noch irgendwie hinbekomm

Vielen dank an Gizmo für die Hilfe, hat zwar nich ganz funktioniert aber deine Bewertung bekommste trotzdem *g*

Geändert von bigfoot996 (19.05.2008 um 12:19 Uhr)
bigfoot996 ist offline   Mit Zitat antworten
Antwort

Stichworte
doppelte, markieren or aussortieren, teileinträge, vba


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[News] WhatsApp: Blaue Haken markieren gelesene Nachrichten TweakPC Newsbot News 1 07.11.2014 14:02
[News] AMD Trinity: Doppelte Performance per Watt TweakPC Newsbot News 0 02.02.2012 22:31
[News] MSI: Doppelte Kapazität für das Netbook Wind TweakPC Newsbot News 0 17.09.2008 09:41
Doppelte Gefahr für Home Router TweakPC Newsbot News 0 25.01.2008 17:18
WMP - Doppelte Titel löschen wolkenkratzer Audio und Video 4 02.03.2006 19:03


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:49 Uhr.




Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2022, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.
Impressum, Datenschutz Copyright © 1999-2015 TweakPC, Alle Rechte vorbehalten, all rights reserved