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

Fehler bei automatischer Nummernvergabe

Fehler bei automatischer Nummernvergabe
18.05.2016 23:58:07
Oisse
Hallo Zusammen,
ich habe folgenden Code, bei der mir automatisch die nächste Nummer vergeben wird, wenn in Spalte 2 ein Wert steht.
Funktioniert auch einwandfrei, wenn mehr als ein Wert in der Tabelle steht.
Wenn aber nur ein Wert drinsteht kommt die Fehlermeldung "Typen unverträglich"
Worksheets(Tbl1).Activate
'Positionsnummer vergeben bei jedem Wert, der in Spalte 2 steht
Dim avntInput As Variant, avntOutput() As Variant
Dim lngCount As Long, ialngIndex As Long
avntInput = Range(Cells(20, 2), Cells(Rows.Count, 2).End(xlUp)).Value
ReDim avntOutput(LBound(avntInput) To UBound(avntInput), 0) 'hier kommt der Fehler
For ialngIndex = LBound(avntInput) To UBound(avntInput)
If Not IsEmpty(avntInput(ialngIndex, 1)) Then
lngCount = lngCount + 1
avntOutput(ialngIndex, 0) = lngCount
End If
Next
Cells(20, 1).Resize(UBound(avntOutput), 1).Value = avntOutput

Wie muss man das ändern?
Danke
Gruß Oisse

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

Betreff
Datum
Anwender
Anzeige
AW: Fehler bei automatischer Nummernvergabe
19.05.2016 04:37:34
fcs
Hallo Oisse,
wenn der ins Array einzulesende Bereich nur 1 Zelle ist, dann ist die "avntInput" kein Array - Die Variable enthält dann den Zellinhalt. Dies muss geprüft werden und der Zelle A20 der Wert 1 zugewiesen werden.
Gruß
Franz
 Worksheets(Tbl1).Activate
'Positionsnummer vergeben bei jedem Wert, der in Spalte 2 steht
Dim avntInput As Variant, avntOutput() As Variant
Dim lngCount As Long, ialngIndex As Long
avntInput = Range(Cells(20, 2), Cells(Rows.Count, 2).End(xlUp)).Value
If Not IsArray(avntInput) Then
Cells(20, 1).Value = 1
Else
ReDim avntOutput(LBound(avntInput) To UBound(avntInput), 0) 'hier kommt der Fehler
For ialngIndex = LBound(avntInput) To UBound(avntInput)
If Not IsEmpty(avntInput(ialngIndex, 1)) Then
lngCount = lngCount + 1
avntOutput(ialngIndex, 0) = lngCount
End If
Next
Cells(20, 1).Resize(UBound(avntOutput), 1).Value = avntOutput
End If

Anzeige
AW: Fehler bei automatischer Nummernvergabe
19.05.2016 07:14:17
Oisse
Hallo Franz,
viiielen herzlichen Dank. Oberklasse.
Funktioniert tadellos.
Wie alles halt hier immer im Forum.
Herzliche Grüße
Oisse

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige