Problem mit Prozedur

  • Excel

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von FloFuchs.

    Problem mit Prozedur

    Hallo,

    Ich habe vor für ein Datenfeld aus einem Tabellensheet eine Prozedur in VBA zu schreiben und habe den folgenden Code in VBA geschrieben und ausprobiert, leider hakt es.
    Zum Verständnis des Codes: Ziel soll es sein die verschiedenen Breiten von einer verschiedenen Anzahl von Kisten aufzuaddieren bis eine bestimmte Breite x erreicht ist. Wenn eine Kistenart aufgebraucht ist soll zur nächsten übergesprungen werden. Die Kisten habe ich vorher nach der Größe sortiert. Sie können also Spaltenmäßig von oben nach unten abgearbeitet werden- Die Breiten und Anzahl der Kisten stehen in zwei Spalten in einem Excelsheet. Diese wollte ich durch zwei Arrays in in die Prozedur einarbeiten. Die Prozedur soll sich dabei solange aufrufen bis die Breite erreicht ist.


    Visual Basic-Quellcode

    1. Public Function Kisten()
    2. Dim Kistenbreite(1 To 10) As Integer
    3. Worksheets("Tabelle1").Range("A1:A10").Value = Kistenbreite
    4. Dim Kistenanzahl(1 To 10) As Integer
    5. Worksheets("Tabelle1").Range("B1:B10").Value = Kistenanzahl
    6. Dim Hvb As Integer
    7. Hvb = 0
    8. Dim x As Integer
    9. x = Worksheets("Tabelle1").Range("A11").Value
    10. Call packen(Kistenbreite(1), Kistenanzahl(1), Hvb, x) ' Markierung bei Kistenbreite
    11. End Function
    12. Public Sub packen(Breite() As Integer, Anzahl() As Integer, d As Integer, f As Integer)
    13. Dim a As Integer
    14. Dim b As Integer
    15. d = LBound(Breite) + d
    16. Dim e As Integer
    17. e = LBound(Anzahl) - 1
    18. Do
    19. Call packen(Breite(a), Anzahl(b), d)
    20. Loop Until e = 0 Or d < f
    21. If e = 0 Then
    22. Call packen(LBound(Breite(a + 1)), Anzahl(b + 1), d)
    23. Else
    24. MsgBox ("Der Wert ist" & d)
    25. End If
    26. End Sub

    ich bekomme die Fehlermeldung : Unverträglicher Typ: Datenfeld oder benutzerdefinierter Typ erwartet und eine Markierung bei Kistenbreite
    Ich habe es im Codemarkiert

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Becks221“ ()