(VBA) Sortierfunktion

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • (VBA) Sortierfunktion

    Hallo,
    Ich habe mir heute eine VBA-Funktion geschrieben, die Zahlen in einem Array sortiert. Wenn ich aber ein Array an die Funktion übergeben will, kriege ich diese Meldung: "Datenfeldargument muss vom Typ ByRef sein"
    Hier der Code:
    Code:
    Sub funktion()
    
    Dim var(1 To 4) As Double
    
    var(1) = 1.79
    var(2) = 1.82
    var(3) = 1.74
    var(4) = 1.81
    
    sortieren (var)
    
    End Sub
    Sub sortieren(arr As Double)
    
    Dim i, j, k As Integer
    Dim tmp As Double
    
    j = 1
    k = 1
    
    While j = 1
        j = 0
        For i = 1 To 4
            If i + 1 <= 4 Then
                If var(i) > var(i + 1) Then
                    tmp = var(i)
                    var(i) = var(i + 1)
                    var(i + 1) = tmp
                    j = 1
                End If
            End If
        Next
        
        Cells(1, k) = var(1)
        Cells(2, k) = var(2)
        Cells(3, k) = var(3)
        Cells(4, k) = var(4)
               
        k = k + 1
        
    Wend
    
    End Sub
    Ich möchte jetzt wissen, wie ich das Array richtig an die Funktion übergeben kann, sodass die Funktion auch damit arbeiten kann. Dann würde ich auch noch gerne wissen, wie das hier in VBA aussieht:
    PHP-Code:
    $var[]=1;
    $var[]=2;
    $anzahl=count($var); 
    Danke für Hilfe

  • #2
    Re: (VBA) Sortierfunktion

    Original geschrieben von Realmaker
    Wenn ich aber ein Array an die Funktion übergeben will, kriege ich diese Meldung: "Datenfeldargument muss vom Typ ByRef sein"
    Dann schreib doch ByRef in den Funktionskopf

    Gab's in VBA nicht mal sowas wie UBound und LBound um die obere/untere Grenze eines Arrays zu bekommen?
    Dann wäre die Funktion etwas flexibler
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Re: Re: (VBA) Sortierfunktion

      Original geschrieben von mrhappiness
      Gab's in VBA nicht mal sowas wie UBound und LBound um die obere/untere Grenze eines Arrays zu bekommen?
      Gibts immernoch.
      MfG
      aim
      Lies mich jetzt!
      - OT-Tags-Liebhaber und BB-Code-Einrücker -

      Kommentar


      • #4
        Re: Re: Re: (VBA) Sortierfunktion

        Original geschrieben von aimbot
        Gibts immernoch.
        Dann ist ja gut, ist schon 'ne Weile her, dass ich das letzte Mal damit zu tun hatte
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Ok, das mit dem LBound und UBound hab ich gefunden, das war nicht weiter schwer Jetzt muss ich nur noch wissen, wie ich das Array übergeben muss: Wenn ich schreibe
          Code:
          Sub sortieren (var As ByRef)
          kriege ich eine Meldung, in der gesagt wird, dass ein Datentyp erwartet wird ("ByRef" wird dabei markiert). Wenn ich es aber so lasse wie bisher, sagt mir, dass ein "ByRef" erwartet wird

          Kommentar


          • #6
            ByRef variablenname As datentyp?
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Original geschrieben von mrhappiness
              ByRef variablenname As datentyp?
              ack.

              http://www.cmp-online.de/vba.htm
              MfG
              aim
              Lies mich jetzt!
              - OT-Tags-Liebhaber und BB-Code-Einrücker -

              Kommentar


              • #8
                Ich ahbe es mir ByRef Variable gelöst bekommen

                Kommentar


                • #9
                  toll, oder?

                  kaum macht man's richtig, schon funktioniert's
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    Original geschrieben von mrhappiness
                    toll, oder?

                    kaum macht man's richtig, schon funktioniert's
                    seltsam nicht war?
                    MfG
                    aim
                    Lies mich jetzt!
                    - OT-Tags-Liebhaber und BB-Code-Einrücker -

                    Kommentar

                    Lädt...
                    X