Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1188to1192
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

Code anpassen das ListCount stimmt?

Code anpassen das ListCount stimmt?
abu
Hallo zusammen,
moechte gerne meinen Code so anpassen das der ListCount stimmt, bekomms aber nicht hin.
Wuerde mich freuen wenn mir jemand dabei helfen koennte.
1.
- Pruefe den Bereich CAx:CMx (13 Spalten)
- ist eine Zelle befuellt schreibe alle Daten von CAx:CMx in die erste Zeile der Listbox (auch 13 Spalten)
- ListCount = 1 (weiter mit 2.)
- sind alle Zellen von CAx:CMx leer, dann Ende, Listbox leer.
2.
- pruefe den naechsten Bereich (CNx:CZx)
- ist eine Zelle befuellt schreibe alle Daten von CNx:CZx in die zweite Zeile der Listbox
- ListCount = 2 (weiter mit 3.)
- sind alle Zellen von CNx:CZx leer, dann Ende, Listbox nur 1 Zeile und ListCount = 1.
3. pruefe den naechsten Bereich (DAx:DMx)
-....
With Sheets("Complaint&Return")
ArrayData = .Range("CA" & lngR & ":CN" & lngR, .Cells(lngR, .Columns.Count).End(xlToLeft))
End With
With ListBox150
.ColumnCount = 13
ReDim Preserve NewArray(1 To .ColumnCount, 1 To UBound(ArrayData, 2))
For nCount = 1 To UBound(ArrayData, 2)
If .ColumnCount = nCol Then nCol = 0
nCol = nCol + 1
If nCol = 1 Then nRow = nRow + 1
NewArray(nCol, nRow) = ArrayData(1, nCount)
Next
ReDim Preserve NewArray(1 To .ColumnCount, 1 To nRow)
.List = Application.Transpose(NewArray)
End With
Gruss
abu

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

Betreff
Benutzer
Anzeige
ListBox sollte eigentlich leer sein!
30.11.2010 16:46:45
abu
Hallo zusammen,
habe den Code jetzt so angepasst das der ListCount stimmt wenn die ListBox gefuellt sein sollte. Jetzt hab ich das Problem das wenn sie eigentlich leer sein sollte, also alle Zellen leer ab CA, die ListBox mit dem Wert der letzten gefuelleten Zelle gefuellt wird, ausserdem betraegt der ListCount dann auch noch 4!
Problem wird wohl das einlesen des Range sein: Columns.Count).End(xlToLeft))
Da ich den unteren Teil nicht versteh, kann ich das Range auch nicht richtig bestimmen, alle Versuche das anzupassen ergeben noch schlechtere Ergebnisse.
Wuerde mich freuen wenn mir da jemand helfen koennte.
Gruss
abu
With Sheets("Complaint&Return")
ArrayData = .Range("CA" & lngR & ":CM" & lngR, .Cells(lngR, .Columns.Count).End(xlToLeft))
End With
With ListBox150
ReDim Preserve NewArray(1 To 13, 1 To UBound(ArrayData, 2))
For nCount = 1 To UBound(ArrayData, 2)
If 13 = nCol Then nCol = 0
nCol = nCol + 1
If nCol = 1 Then nRow = nRow + 1
NewArray(nCol, nRow) = ArrayData(1, nCount)
Next
ReDim Preserve NewArray(1 To .ColumnCount, 1 To nRow)
.List = Application.Transpose(NewArray)
End With
Anzeige
Danke Gerd!
01.12.2010 09:39:29
abu
Frag jetzt die Spalte ab wo das Range beginnt und sollte es vor CA liegen dann wird die Listbox geleert.
Einen Fehler hab ich noch und zwar wenn alle Zellen in der Zeile gefuellt sind aber damit kann ich leben.
Danke Gerd, deine Hinweise haben geholfen.
Gruss
abu
Array Schnellkurs...?
02.12.2010 10:18:57
abu
Hallo zusammen,
stelle gerade fest, dass nun mein ListCount stimmt aber nun liest er die Daten wieder falsch ein.
Zum ausflippen!
Wuerde mich freuen wenn mir jemand hier einen Array-Schnellkurs geben koennte:
Einlesen der Daten:
ArrayData = .Range("CA" & lngR & ":CM" & lngR, .Cells(lngR, .Columns.Count).End(xlToLeft))
Wenn beispielsweise CA, CB und CC gefuellt sind dann ist: ArrayData(1), 1 geht von 1-13 wobei 1-3 gefuellt sind. Soll auch so sein.
ReDim Preserve NewArray(1 To 13, 1 To UBound(ArrayData, 2))
Hier steig ich aus!
Die groesse von NewArray wird festgelegt und zwar: NewArray(1-13 und 1- bis zum Ende von ArrayData aber was sagt die 2 aus?
Ergebnis ist: NewArray(1-13, 1-13)
Das Endergebnis ist auch falsch, er schreibt mir die Werte von CA-CC untereinander in die Listbox.
Ich muss dahin kommen das NewArray auch nur von 1-13 ist, mehr Daten gibt es ja nicht.
Nun ein Fall bei dem das Endergebnis richtig ist: CA-CC ist gefuellt und CN:CP auch, Ergebnis 2 Zeilen in Listbox.
ArrayData(1) und 1 geht von 1-16 wobei 1-3 und 14-16 gefuellt sind
NewArray(1-13 und 1-16)
Macht es nicht mehr Sinn wenn ArrayData(2) und jeweils von 1-13 ginge und dann
NewArray(1-13 und 1-13) waere? Jedenfalls kommt hier das richtige Ergebnis raus.
Lieg ich nun daneben oder bin ich einfach zu bloed?
Gruss
abu
Anzeige
Ich geb auf!
02.12.2010 13:51:24
abu
Hallo abu,
Da dir keine helfen moechte lies doch einfach wieder das Array falsch ein, so dass es wenigstens in der Listbox richtig angezeigt wird und preuf anschliessend ob es wirklich eine 2. Zeile in der Listbox geben soll, wenn nicht dann loesche diese...
Gruss
abu

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige