Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

doppelte werte im Array aus Tabelle (dim)

doppelte werte im Array aus Tabelle (dim)
15.01.2009 07:43:25
chris
Hallo VBA Profis und guten morgen,
ich habe eine frage zu einem Code wie ich diesen am besten erstelle.
Ich habe eine Tabelle mit daten in einer Spalte(untereinander)
Jetzt möchte ich diese zeile mit diesem Makro einlesen aber nur einmal vorkommende werte.
Also wenn ein Wert doppelt vorhanden ist soll er nur einmal in meinem Array "cb" stehen.
Wie mache ich das.Mein Problem momentan ist die oder der Dim der Variable oder des Arrays cb
ich weiß ja am Anfang ich auf was ich in deklarieren soll auf
Dim cb(10)
oder Dim cb(20)
oder Dim cb(30)
usw... Ich dachte mir vielleicht auf
dim cb(Vorlage.Worksheets("daten").Cells(Vorlage.Worksheets("daten").Cells.Rows.Count, 4).End(xlUp).Row)
Aber das stimmt ja auch nicht so weil ja wenn doppelte vorkommen die Anzahl weniger ist.
Wie mache ich das am besten ?
Vielen dank für eure Hilfe !!
gruß Chris
'Hier mein Code den ich verwenden will.
For x = 2 To Vorlage.Worksheets("daten").Cells(Vorlage.Worksheets("daten").Cells.Rows.Count, 4).End(xlUp).Row
temp = Vorlage.Worksheets("daten").Cells(x, 4)
b = True
For y = x - 1 To 0 Step -1
If cb(y) = temp Then
b = False
Exit For
End If
Next
If b Then
cb(i) = temp
i = i + 1
End If
Next

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zusatz
15.01.2009 08:17:00
chris
Hallo,ich habe jetzt meinen Code erweitert.
Er macht jetzt auch das was ich will nur ich glaube etwas umständlich.
Weiß jemand eine Änderung das der Code auch besser da steht ?
Danke im vorraus !!!
Sub hole_daten2()
Dim i As Integer
Dim x As Integer
Dim y As Integer
Dim temp
Dim b As Boolean
Dim cb()
i = 0
For x = 2 To Vorlage.Worksheets("daten").Cells(Vorlage.Worksheets("daten").Cells.Rows.Count, 4).End(xlUp).Row
temp = Vorlage.Worksheets("daten").Cells(x, 4)
b = True
For y = x - 1 To 0 Step -1
ReDim Preserve cb(Vorlage.Worksheets("daten").Cells(Vorlage.Worksheets("daten").Cells.Rows.Count, 4).End(xlUp).Row)
If cb(y) = temp Then
b = False
Exit For
End If
Next
If b Then
ReDim Preserve cb(i)
cb(i) = temp
i = i + 1
End If
Next
gruß Chris
Anzeige
AW: doppelte werte im Array aus Tabelle (dim)
15.01.2009 08:25:00
Tino
Hallo,
geht es so?

Option Explicit
Sub versuch()
Dim Bereich As Range
Dim booInAr As Boolean
Dim meArea()
Dim loArCount As Long, X As Long
With Vorlage.Worksheets("daten")
For X = 2 To .Cells(.Cells.Rows.Count, 4).End(xlUp).Row
Set Bereich = .Range(.Cells(X, 4), .Cells(.Rows.Count, 4).End(xlUp))
booInAr = Application.CountIf(Bereich, .Cells(X, 4)) = 1
If booInAr Then
ReDim Preserve meArea(loArCount)
meArea(loArCount) = .Cells(X, 4)
loArCount = loArCount + 1
End If
Next X
End With
End Sub


Gruß Tino

AW: doppelte werte im Array aus Tabelle (dim)
15.01.2009 09:01:00
chris
Hi Tino,
sowas habe ich gesucht.Schnell und sieht gut aus :)
Anzeige
"sieht gut aus"...
15.01.2009 09:36:18
Tino
Hallo,
Aussehen ist nicht so wichtig, es muss funktionieren! ;-)
Gruß Tino

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige