Doppelte Wörter suchen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:


Excel-Version: 10.0 (Office XP)
nach unten

Betrifft: Doppelte Wörter suchen
von: Bianca
Geschrieben am: 22.05.2002 - 15:44:15

mein problem ist:

ich möchte in einer kompletten arbeitsmappe alle doppelten wörter angezeigt bekommen, ohne eine vorgabe zu geben (wie mit der suchen und ersetzen funktion)

z.b: das wort "hallo" ist 5 mal in folgenden zellen zu finden!!!

nach oben   nach unten

Re: Doppelte Wörter suchen
von: Martin Beck
Geschrieben am: 22.05.2002 - 16:01:13

Hallo Bianca,

die Problemstellung ist leider etwas unspezifisch. Schau Dir mal die Funktion ZÄHLENWENN an.

Gruß
Martin Beck


nach oben   nach unten

Re: Doppelte Wörter suchen
von: ajk
Geschrieben am: 22.05.2002 - 16:01:52

Mit einer Pivottabelle bekommst relativ schnell einen Überblick, welches Wort wie oft usw. enthalten ist. Klickst Du dann auf die jeweilige Pivotzelle, öffnet sich ein neues Arbeitsblatt indem alle Stellen auf gezeigt werden.

Gruß
AJK


nach oben   nach unten

Re: Doppelte Wörter suchen
von: Bianca
Geschrieben am: 22.05.2002 - 16:06:31

danke für die schnell antwort...
aber was ist eine pivottabelle?

nach oben   nach unten

Re: Doppelte Wörter suchen
von: Bianca
Geschrieben am: 22.05.2002 - 16:08:04

danke für die schnelle antwort...

mit zählenwenn funktioniert es nicht, weil ich eine angabe machen muß. ich möchte alle doppelten wörter angezeigt bekommen, ohne vorgeben zu müssen: suchen nach "hallo"

nach oben   nach unten

Re: Doppelte Wörter suchen
von: Rolf, Lgh.
Geschrieben am: 22.05.2002 - 16:14:14

Hallo Bianca,
schau Dir das mal an: https://www.herber.de/mailing/045799h.htm
Berichtigter Code:

Option Explicit

Sub Aufruf()
  Dim TB As Worksheet
  Dim As Range, F As Range
  Dim Adr As Variant
  Dim i%, R%
  Dim Schalter As Boolean
  Set TB = ActiveSheet
  Worksheets.Add
  For Each C In TB.UsedRange
    If IsEmpty(C) Then GoTo WEITER
    Set F = Columns(1).Find(C, lookat:=xlWhole)
    If Is Nothing Then
      Adr = WieOft(C.Value, TB)
      If UBound(Adr) < 2 Then GoTo WEITER
      Schalter = False
      For i = 1 To UBound(Adr)
        If Schalter = False Then R = R + 1
        Cells(R, 1) = C
        Cells(R, i + 1) = Adr(i)
        Schalter = True
      Next i
    End If
WEITER:
  Next C
End Sub

Private Function WieOft(sBegriff$, TabName As Worksheet) As Variant
  Dim Adr()
  Dim i%
  Dim objFind As Object
  Dim strStartAdr As String
  Set objFind = TabName.Cells.Find(sBegriff)
  If Not objFind Is Nothing Then
    strStartAdr = objFind.Address
    Do
      i = i + 1
      ReDim Preserve Adr(i)
      Adr(i) = objFind.Address(False, False)
      Set objFind = TabName.Cells.FindNext(objFind)
    Loop Until objFind Is Nothing Or objFind.Address = strStartAdr
  End If
  If i = 0 Then
    ReDim Adr(1)
    Adr(1) = "NichtsDoppelt"
  End If
  WieOft = Adr
End Function


Gruss Rolf
nach oben   nach unten

Re: Doppelte Wörter suchen
von: Martin Beck
Geschrieben am: 22.05.2002 - 16:28:23

Hallo Bianca,

nochmal: ohne eine präzisere Problemstellung wird das nichts.

1. Möchtest Du eine Formel oder eine Makrolösung oder ist das egal?

2. Was heißt "angezeigt bekommen"? Markieren im Tabellenblatt? Farbig hervorheben im Tabellenblatt? Irgendwas in einer Messagebox?

3. Was soll angezeigt werden? Mal angenommen, im Bereich A1:A10 kommt 6x "Hallo" und 4x "Bye" vor. Was soll jetzt das Ergebnis sein? 8?

Für letzteres: Aus http://www.excelformeln.de/formeln.html?welcher=42
************************
ohne Leerzellen:
{=SUMME(1/ZÄHLENWENN($A$1:$A100;$A$1:$A100))}

mit Leerzellen:
{=SUMME(WENN(A1:A100="";0;1/ZÄHLENWENN(A1:A100;A1:A100)))}
************************

Die Formeln ergeben jeweils die Anzahl der unterschiedlichen Einträge in einem Bereich, hier A1:A100. Wenn Du dieses Ergebnis vom Ergebnis der Formel

=ANZAHL2(A1:A100)

abziehst, erhältst Du die Zahl der Mehrfacheinträge (ohne Leerzellen). In meinem obigen Beispiel wäre dies die Zahl 8.

Gruß
Martin Beck

nach oben   nach unten

Re: Doppelte Wörter suchen
von: Bianca
Geschrieben am: 22.05.2002 - 17:45:49

hallo an rolf!

in einer mappe ist beim ausführen des makros ein fehler aufgetreten:

Laufzeitfehler '1004':

Anwendungs- oder Objektdefinierter Fehler

bin dann auf "debuggen" gegangen..

die folgende zeile war geld markiert:

Cells (R, i + 1 ) =Adr (i)

gruß bianca

nach oben   nach unten

Re: Doppelte Wörter suchen
von: Bianca
Geschrieben am: 22.05.2002 - 17:54:38

hallo martin!

formel oder makro ist egal...

eine auflistung auf einen neuen tabellenblatt wäre optimal, es kommt aber auf eine 100% schreibweise an, da es sich um ortsnamen handelt, die nicht doppelt sein dürfen

eine anzahl alleine reicht mir da nicht, nur eine genaue auflistung in welchen zellen die wörter doppelt sind.

gruß bianca


nach oben   nach unten

Re: Doppelte Wörter suchen
von: Rolf, Lgh.
Geschrieben am: 22.05.2002 - 19:04:21

Ich habe den Code nochmals in einer anderen Tabelle getestet. Er läuft bei mir unter Excel XP ohne Fehlermeldung ab. Kopiere ihn noch einmal und versuche es noch einmal (bei mir war die Tabelle sogar geschützt).

nach oben   nach unten

Re: Doppelte Wörter suchen
von: Bianca
Geschrieben am: 23.05.2002 - 11:49:40

hallo rolf..

ich habe es mehrmals an der tabelle ausprobiert und es auch mehrmals wieder neu reinkopiert. es wird immer der gleiche laufzeitfehler angezeigt.

gruß bianca


nach oben   nach unten

Re: Doppelte Wörter suchen
von: ajk
Geschrieben am: 23.05.2002 - 14:22:26

Dann versuch dochmal den Autofilter, da kannst Du gleich die doppelten Stellen "behandeln". Einfach: Daten -Autofilter und dann in Deiner Ortsspalte auf den Filter klicken.
nach oben   nach unten

Re: Doppelte Wörter suchen
von: Martin Beck
Geschrieben am: 23.05.2002 - 15:53:55

Hallo Bianca,

zunächst mal was Grundsätzliches. Inzwischen dürftest Du bemerkt haben, daß Dein Problem nicht so ganz einfach zu lösen ist. Umso hilfreicher wäre es gewesen, Du hättest Dir bei Deiner ersten Anfrage mehr Mühe bei der Problembeschreibung gegeben. So ein lapidarer Satz hilft i.d.R. nicht nur nicht, er führt auch die potentiellen Antworter in die Irre.

Folgender Lösungsvorschlag per Makro (Code in ein normales Modul kopieren und Makro "doppelte" starten):


Sub doppelte()
Application.ScreenUpdating = False
Worksheets("Doppelt").Cells.ClearContents
i = 1
For Each c In Worksheets("Orte").UsedRange
With Worksheets("Doppelt")
    .Cells(i, 1) = c
    .Cells(i, 2) = c.AddressLocal
End With
i = i + 1
Next
Worksheets("Doppelt").Range("A1").Sort Key1:=Worksheets("Doppelt").Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
        
Call umformen
Application.ScreenUpdating = True
End Sub

Sub umformen()
Worksheets("Doppelt").Activate
z = Range("A1").CurrentRegion.Rows.Count
s = 3
x = 1
For j = 2 To z
    If Cells(j, 1) = Cells(j - 1, 1) Then
        Cells(x, s) = Cells(j, 2)
        Cells(j, 2).ClearContents
        s = s + 1
    Else
        s = 3
        x = j
    End If
Next j

For k = z To Step -1
    If IsEmpty(Cells(k, 2)) Then
        Rows(k).Delete
    End If
Next k
End Sub

Voraussetzungen:

1. Durchsucht wird ein(!) Tabellenblatt mit dem Namen "Orte". Makro ggf. anpassen.

2. Es muß ein leeres Tabellenblatt mit dem Namen "Doppelt" existieren, in das die Suchergebnisse geschrieben werden.

3. Es gibt weniger als 65536 belegte Zellen in der Tabelle "Orte".

4. Es gibt weniger als maximal 255 Eintragungen für einen Ort.


Das Ergebnis sieht dann wie folgt aus:


MS Excel von Martin Beck an Bianca
 ABCD
1BerlinLeipzig 
2MünchenBerlin 
3HamburgMünchen 
4MünchenHamburg 
5   
6   
7Blatt_Doppelt   
8     
9Berlin$A$1$B$2
10Hamburg$A$3$B$4
11Leipzig$B$1 
12München$A$2$B$3$A$4

Wenn Orte, die nur einmal vorkommen, nicht aufgelistet werden sollen, ändere die Zeile

If IsEmpty(Cells(k, 2)) Then

in

If IsEmpty(Cells(k, 3)) Then

Gruß
Martin Beck



nach oben   nach unten

Re: Doppelte Wörter suchen
von: Bianca
Geschrieben am: 23.05.2002 - 17:54:14

hallo martin!

sorry, wegen meiner ungenauen angaben...war das erste mal das ich mich an ein forum gewandt habe. für das nächste mal weiß ich dann ja bescheid.

danke dass du mir trotzdem hilfst.

leider handelt es sich um sehr viel mehr als nur 255 ortsnamen.

die tabelle sieht in etwa so aus:

spalte spalte
Augsburg Adelzhausen, Affing,usw.
(Region) (Orte in der Region)

gruß und dank
bianca :-)


nach oben   nach unten

Re: Doppelte Wörter suchen
von: Martin Beck
Geschrieben am: 23.05.2002 - 22:42:17

Hallo Bianca,

hast Du die Makros ausprobiert? Es können ruhig mehr als 255 Orte sein. Ein und derselbe Ort darf nur nicht mehr als 255 mal vorkommen.

Gruß
Martin Beck


nach oben   nach unten

Re: Doppelte Wörter suchen
von: Bianca
Geschrieben am: 24.05.2002 - 09:33:23

hallo martin...
ja habe ich ausprobiert. es tritt ein Laufzeitfehler auf...

Laufzeitfehler '1004'

Anwendungs- oder Objektdefinierter Fehler..

bin auf debuggen gegangen und folgende zeile war gelb markiert...

.Cells(i, 1) = c


es wurden auch nur ein teil der doppelten wörter aufgelistet.


gruß bianca


nach oben   nach unten

Re: Doppelte Wörter suchen
von: Martin Beck
Geschrieben am: 24.05.2002 - 10:08:57

Hallo Bianca,

so wird das nix. Schick mir mal die Datei per Mail, dann schau ich mir's an.

Gruß
Martin Beck


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Doppelte Wörter suchen"