Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1560to1564
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Problem mit array

Problem mit array
01.06.2017 12:08:50
Ralf
Dank Werner seiner Hilfe konnte ich bereits ein Problem lösen, aber wie so meist kommt ein neues.
Ich lasse eine ListBox mit Daten aus einer Tabelle füllen, diese Daten werden dann von der ListBox an das array übergeben.
In der ListBox waren 17 Einträge, nach dem Mischen und zurückschreiben in der Listbox aber nur noch 16 Einträge. Warum fehlt jetzt ein ganzer Datensatz ?
Ich kann mir das nicht erklären, warum der Weg ist.
Hat einer vieleicht eine Idee
Viele Grüße Ralf
Sub Mischen(vntList)
i = 1
For lngIndex = LBound(vntList, 1) To UBound(vntList, 1)
Randomize Timer
lngRnd = Int((UBound(vntList, 1)) * Rnd + 1)
vntTmp = vntList(lngIndex, 0)
vntList(lngIndex, 0) = vntList(lngRnd, 0)
vntList(lngRnd, 0) = vntTmp
Next
With Sheets("Temp")
.UsedRange.ClearContents
.Cells(1, 1).Resize(UBound(vntList), 1) = vntList
End With
'Vergleichen und ergänzen von zwei Tabellen
Dim raBereich As Range
Dim loLetzte As Long
With Worksheets("Temp")
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
Set raBereich = .Range(.Cells(1, 2), .Cells(loLetzte, 2))
raBereich.FormulaLocal = "=SVERWEIS(A1;Daten!A:B;2;FALSCH)"
raBereich.Value = raBereich.Value
End With
Set raBereich = Nothing
'ListBox füllen
Dim arr As Variant
ListBox1.Clear
With Sheets("Temp")
arr = Intersect(.Range("A:B"), .Range("A1").CurrentRegion)
End With
With ListBox1
.ColumnCount = 2
.List = arr
End With

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit array
01.06.2017 12:22:49
Rudi
Hallo,
vntList fängt bei 0 an.
Ergo
.Cells(1, 1).Resize(UBound(vntList), 1) + 1 = vntList
Gruß
Rudi
AW: Problem mit array
01.06.2017 12:29:31
Ralf
Hallo Rudi,
vielen Dank, ja das wars.
.Cells(1, 1).Resize(UBound(vntList, 1) + 1) = vntList
Danke schön
Grüße Ralf
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige