Das Programm soll folgendes tun:
- Programm wird per Button gestartet
- Zellen aus Excel in einem Array speichern
- Aus einer Zelle, in der verschiedene Zeichen sind, nur die Zahlen auslesen und davon den Maximalwert suchen.
- Den Array weiter verarbeiten und Daten abschließend wieder in die Excel kopieren
Beim Kopieren von Zellen in den Array bekomme ich den "Laufzeitfehler 13 Typen unverträglich".
Könnt ihr mir weiterhelfen?
Sub ISIR_Maße_auslesen()
Dim Masse() As Variant
Dim Feld(100) As Double
Dim m As Integer, l As Integer, j As Integer, n As Integer, w As Integer
m = 1
l = 1
n = 1
w = 1
Do While Range("A" & l) "ISIR"
l = l + 1
Loop
a = 1
Do While Range("A" & a) "DRW"
a = a + 1
Loop
'alle relevanten Maße (ungleich 0) in Array schreiben
For m = a + 2 To Range("A4").End(xlDown).Row
If Range("F" & m) 0 Then
Masse(n, Range(Cells(m, 1), Cells(m, 6))) = Range(Cells(m, 1), Cells(m, 6)).Value
Masse(n, 7) = Range("Z" & m).Value
'Aus Zelle 7 Zahlen herausfiltern
zelleninhalt = Masse(n, 7)
start = -1
For i = 1 To Len(zelleninhalt)
zahl = ""
If IsNumeric(Mid(zelleninhalt, i, 1)) = True Then
w = 1
Do While IsNumeric(Mid(zelleninhalt, i, 1)) = True Or Mid(zelleninhalt, i, 1) = "." _
_
_
Or Mid(zelleninhalt, i, 1) = ","
zahl = zahl & Mid(zelleninhalt, i, 1)
i = i + 1
Loop
Feld(w) = zahl
w = w + 1
End If
Next i
Masse(n, 8) = WorksheetFunction.Max(WorksheetFunction.Index(Feld, 0, 1)) 'Maximalwert _
_
_
aus Zelle 7 ermitteln
Range("A" & l + 2) = Masse(n, 1)
Range("B" & l + 2) = Masse(n, 2)
Range("C" & l + 2) = Masse(n, 7)
l = l + 1
n = n + 1
End If
Next m
End Sub