Discussion:
Immer nur ersten Wert in Spalte anzeigen
(zu alt für eine Antwort)
Immo Brauch
2006-06-29 10:48:01 UTC
Permalink
Hallo zusammen,

in Spalte A stehen in 600 Zeilen schäzungsweise 150 Einzeldaten, sodass
viele Einzeldaten doppelt vorkommen.

Wie kann ich mir immer nur den ersten Wert anzeigen lassen?
--
Immo Brauch
Markus
2006-06-29 11:42:02 UTC
Permalink
Hallo Immo,

meinst Du die Vorhandenen Werte ohne Duplikate (und eventuel die Anzahl
davon)?


Public Sub ErstelleDokument()
Range("A1").Value = "Werte (mit Duplikaten)"
For Zeile = 2 To 51 ' 50 Werte
Range("A" & Zeile) = CInt(1 + (Rnd * 24)) ' Zufallswert von 1 bis 25
Next

' ############
Spalte = "A"
' ############

Zeile = 2
Dim Inhalt() As String
ReDim Preserve Inhalt(0)
Inhalt(0) = ""
' Verschienene Varianten werden gesucht
Do Until Range("A" & Zeile).Value = Empty
Fund = False
For Each Element In Inhalt
If CStr(Range(Spalte & Zeile).Value) = Element Then
Fund = True
Exit For
End If
Next
If Fund = False Then
ReDim Preserve Inhalt((UBound(Inhalt) + 1))
Inhalt(UBound(Inhalt)) = Range(Spalte & Zeile).Value
End If
Zeile = Zeile + 1
Loop

' Varianten werden gezählt
For Each Element In Inhalt
Zeile = 2
Anzahl = 0
Do Until Range("A" & Zeile).Value = Empty
If CStr(Range(Spalte & Zeile).Value) = Element Then Anzahl = Anzahl + 1
Zeile = Zeile + 1
Loop
If Element = "" Then
Text = vbNewLine & "leer" & vbTab & Anzahl
Else
Text = Text & vbNewLine & Element & vbTab & Anzahl
End If
Next
MsgBox "Folgende Varianten wurden gefunden:" & vbNewLine & "Wert" & vbTab &
"Anzahl" & vbNewLine & Text, vbInformation, "Anzahl der Varianten"
End Sub
Post by Immo Brauch
Hallo zusammen,
in Spalte A stehen in 600 Zeilen schäzungsweise 150 Einzeldaten, sodass
viele Einzeldaten doppelt vorkommen.
Wie kann ich mir immer nur den ersten Wert anzeigen lassen?
--
Immo Brauch
Markus
2006-06-29 12:01:02 UTC
Permalink
Kleine Korrektur:

Public Sub ErstelleDokument()
Range("A1").Value = "Werte (mit Duplikaten)"
For Zeile = 2 To 51 ' 50 Werte
Range("A" & Zeile) = CInt(1 + (Rnd * 24)) ' Zufallswert von 1 bis 25
Next

' ############
Spalte = "A"
' ############

Zeile = 2
Dim Inhalt() As String
ReDim Preserve Inhalt(0)
Inhalt(0) = ""
' Verschienene Varianten werden gesucht
Do Until Range(Spalte & Zeile).Value = Empty
Fund = False
For Each Element In Inhalt
If CStr(Range(Spalte & Zeile).Value) = Element Then
Fund = True
Exit For
End If
Next
If Fund = False Then
ReDim Preserve Inhalt((UBound(Inhalt) + 1))
Inhalt(UBound(Inhalt)) = Range(Spalte & Zeile).Value
End If
Zeile = Zeile + 1
Loop

' Varianten werden gezählt
For Each Element In Inhalt
Zeile = 2
Anzahl = 0
Do Until Range("A" & Zeile).Value = Empty
If CStr(Range(Spalte & Zeile).Value) = Element Then Anzahl = Anzahl + 1
Zeile = Zeile + 1
Loop
If Element = "" Then
Text = vbNewLine & "leer" & vbTab & Anzahl
Else
Text = Text & vbNewLine & Element & vbTab & Anzahl
End If
Next
MsgBox "Folgende Varianten wurden gefunden:" & vbNewLine & "Wert" & vbTab &
"Anzahl" & vbNewLine & Text, vbInformation, "Anzahl der Varianten"
End Sub
Immo Brauch
2006-06-29 13:01:02 UTC
Permalink
Hallo Markus,

vielen Dank für die Antwort. Aber: geht´s nicht auch einfacher? Ich möchte
einfach nur die Liste ohne Duplikate sehen. Wenn ich also 24 mal den Wert
3451 habe, möchte ich den nur einmal sehen, ähnlich wie mit einem Filter.
--
Immo Brauch
Post by Markus
Public Sub ErstelleDokument()
Range("A1").Value = "Werte (mit Duplikaten)"
For Zeile = 2 To 51 ' 50 Werte
Range("A" & Zeile) = CInt(1 + (Rnd * 24)) ' Zufallswert von 1 bis 25
Next
' ############
Spalte = "A"
' ############
Zeile = 2
Dim Inhalt() As String
ReDim Preserve Inhalt(0)
Inhalt(0) = ""
' Verschienene Varianten werden gesucht
Do Until Range(Spalte & Zeile).Value = Empty
Fund = False
For Each Element In Inhalt
If CStr(Range(Spalte & Zeile).Value) = Element Then
Fund = True
Exit For
End If
Next
If Fund = False Then
ReDim Preserve Inhalt((UBound(Inhalt) + 1))
Inhalt(UBound(Inhalt)) = Range(Spalte & Zeile).Value
End If
Zeile = Zeile + 1
Loop
' Varianten werden gezählt
For Each Element In Inhalt
Zeile = 2
Anzahl = 0
Do Until Range("A" & Zeile).Value = Empty
If CStr(Range(Spalte & Zeile).Value) = Element Then Anzahl = Anzahl + 1
Zeile = Zeile + 1
Loop
If Element = "" Then
Text = vbNewLine & "leer" & vbTab & Anzahl
Else
Text = Text & vbNewLine & Element & vbTab & Anzahl
End If
Next
MsgBox "Folgende Varianten wurden gefunden:" & vbNewLine & "Wert" & vbTab &
"Anzahl" & vbNewLine & Text, vbInformation, "Anzahl der Varianten"
End Sub
Wolfgang Habernoll
2006-06-29 13:32:14 UTC
Permalink
Hallo Immo
Post by Immo Brauch
Hallo Markus,
vielen Dank für die Antwort. Aber: geht´s nicht auch einfacher? Ich möchte
einfach nur die Liste ohne Duplikate sehen. Wenn ich also 24 mal den Wert
3451 habe, möchte ich den nur einmal sehen, ähnlich wie mit einem Filter.
also nur sehen? nicht doppelte entfernen dann bist du doch mit Filter schon
auf dem richtigen Weg. Nimm den Spezialfilter.
Daten->Filter->Spezialfilter und Liste an gleicher Stelle filtern ->Keine
Duplikate

mfG
Wolfgang Habernoll
Immo Brauch
2006-06-30 13:10:02 UTC
Permalink
Hallo Wolfgang,

danke, genau das war´s . Vielen Dank.
--
Immo Brauch
Post by Markus
Hallo Immo
Post by Immo Brauch
Hallo Markus,
vielen Dank für die Antwort. Aber: geht´s nicht auch einfacher? Ich möchte
einfach nur die Liste ohne Duplikate sehen. Wenn ich also 24 mal den Wert
3451 habe, möchte ich den nur einmal sehen, ähnlich wie mit einem Filter.
also nur sehen? nicht doppelte entfernen dann bist du doch mit Filter schon
auf dem richtigen Weg. Nimm den Spezialfilter.
Daten->Filter->Spezialfilter und Liste an gleicher Stelle filtern ->Keine
Duplikate
mfG
Wolfgang Habernoll
Wolfgang Habernoll
2006-06-30 13:46:16 UTC
Permalink
Hallo Immo

schön das es klappt und danke für's Feedback

Gruß
Wolfgang
Post by Immo Brauch
Hallo Wolfgang,
danke, genau das war´s . Vielen Dank.
--
Immo Brauch
Post by Markus
Hallo Immo
Post by Immo Brauch
Hallo Markus,
vielen Dank für die Antwort. Aber: geht´s nicht auch einfacher? Ich möchte
einfach nur die Liste ohne Duplikate sehen. Wenn ich also 24 mal den Wert
3451 habe, möchte ich den nur einmal sehen, ähnlich wie mit einem Filter.
also nur sehen? nicht doppelte entfernen dann bist du doch mit Filter schon
auf dem richtigen Weg. Nimm den Spezialfilter.
Daten->Filter->Spezialfilter und Liste an gleicher Stelle filtern ->Keine
Duplikate
mfG
Wolfgang Habernoll
Klaus Bencinger
2006-06-30 11:17:14 UTC
Permalink
Post by Immo Brauch
Hallo Markus,
vielen Dank für die Antwort. Aber: geht´s nicht auch einfacher? Ich möchte
einfach nur die Liste ohne Duplikate sehen. Wenn ich also 24 mal den Wert
3451 habe, möchte ich den nur einmal sehen, ähnlich wie mit einem Filter.
Vielleicht so?
Spalte markieren
Bedingte Formatierung
=ZÄHLENWENN(INDIREKT("A1:A" & ZEILE());A1)=1
Schrift dem Zellenhintergrund gleichsetzen

Klaus
Lesen Sie weiter auf narkive:
Loading...