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

Forumthread: Fehlerhafte Werte im Array ersetzen

Fehlerhafte Werte im Array ersetzen
22.09.2014 14:58:18
Mike
Hallo Zusammen,
mit nachfolgendem Befehl fülle ich mein Array arrMasterdata:
arrMasterdata = wbMasterdata.Worksheets(sTab).Range("A1:" & s)
Das klappt gut und noch dazu sehr schnell.
Mit den Daten des Arrays fülle ich dann ein Listview:
[CODE]

Private Sub DatenLesenUpdate(sFilter As String)
Dim lRow As Long, iCol As Integer
Dim LI As ListItem, LSI As ListSubItem
On Error GoTo DatenLesenUpdate_Error
If sFilter  "" Then sFilter = "*" & sFilter & "*"
With Me.lstMaterials
.ListItems.Clear
If sFilter  "" Then
For lRow = 1 To UBound(arrMasterdata)
If UCase(arrMasterdata(lRow, 2)) Like UCase(sFilter) Then
Set LI = .ListItems.Add(, "x" & lRow, arrMasterdata(lRow, 1))
For iCol = 2 To 3
Set LSI = LI.ListSubItems.Add(, , arrMasterdata(lRow, iCol))
Next iCol
End If
Next lRow
Else
For lRow = 1 To UBound(arrMasterdata)
Set LI = .ListItems.Add(, "x" & lRow, arrMasterdata(lRow, 1))
For iCol = 2 To 3
Set LSI = LI.ListSubItems.Add(, , arrMasterdata(lRow, iCol))
Next iCol
Next lRow
End If
.ListItems.Remove (1)
Me.lblMaterialsCount.Caption = Format(.ListItems.Count, "#,##0") & " Items found for '" &  _
_
Me.txtMaterialsuche & "'"
End With
On Error GoTo 0
Exit Sub
DatenLesenUpdate_Error:
Select Case Err.Number
Case 13
' #NV in Quelldatei
Set LSI = LI.ListSubItems.Add(, , "#NV")
Resume Next
Case 35600
' keine Überschrift in lv
Resume Next
Case Else
MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure  _
DatenLesenUpdate of Formular frmMaterialsuche"
End Select
End Sub

[/CODE]
Leider kann ich nicht alle fehlerhaften Zellinhalte im Array (beginnt mit '#') abfangen, so erhalte ich manchmal einen Wert 'Fehler 2042'...
Vielen Dank für Eure Hilfe.
Mike

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Fehlerhafte Werte im Array ersetzen
22.09.2014 15:18:44
Daniel
Hi
Fehlerwerte bereiten bei direkten Zellvergleichen Schwierigkeiten.
Du kannst die Fehlerwerte in der Schleife mit folgender Prüfung überspringen (sollte natürlich als erste erfolgen:
If VarType(arrMasterdata(lRow, 2))  vbError Then
'--- hier dann der Weitere Code für den Fall, dass im Array ein normaler Wert steht
End If
Gruß Daniel

Anzeige
AW: Fehlerhafte Werte im Array ersetzen
22.09.2014 16:42:49
Mike
Hi Daniel,
super, vielen Dank für den Tipp.
Grüsse, Mike
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige