Skocz do zawartości
Ghostman

[VBA] problem z if

Rekomendowane odpowiedzi

Siemka mam taki problem

jest sobie kawałek kodu ze zmiennymi zadeklarowanymi globalnie

 

Sub przydzielanie_Click()   r1 = ratio1 * 100r2 = ratio2 * 100r3 = ratio3 * 100r4 = ratio4 * 100   For m = 1 To 4    arr(1) = r1    arr(2) = r2    arr(3) = r3    arr(4) = r4    Call Sort(arr)If arr(4) = r1 Then        Call CommandButton1_Click        r1 = 0    Else        If arr(4) = r2 Then            Call CommandButton2_Click            r2 = 0        Else            If arr(4) = r3 Then                Call CommandButton3_Click                r3 = 0            Else                If arr(4) = r4 Then                    Call CommandButton4_Click                    r4 = 0                Else                    MsgBox ("błąd")                End If            End If        End IfEnd If    Next mEnd Sub------------------------------------------------------------Sub Sort(arr() As Integer)    Dim Temp As Double    Dim v As Integer    Dim x As Integer        For x = 2 To UBound(arr)        Temp = arr(x)        For v = x - 1 To 1 Step -1            If (arr(v) <= Temp) Then GoTo 10            arr(v + 1) = arr(v)        Next v        v = 010      arr(v + 1) = Temp    Next x    End Sub

Procedura sort działa mi dobrze, ale procedura przydzielanie_Click() nie działa dobrze. Mianowicie jak wykona się pierwsze sortowanie to ify poprawnie znajdą dla moich danych, że arr(4) = r4, potem dobrze znajdą, że arr(4) = r2, a po kolejnym sortowaniu arr(4) = r1 i mimo, że debuger pokazuje, że arr(4) = 24 i r1 = 24 to mi przeskakuje do elsa.

I nie mam pojęcia co z tym zrobić. Ktoś może wiedzieć ocb?

Ewentualnie ktoś wie jak zamienić te ify na switch case? Ale czy to pomoże?

 

 

Edit\\ zrobiłem switch case i działa poprawnie, natomiast jeśli ktoś może wiedzieć to chętnie też bym się dowiedział dlaczego w formie ifów nie działa poprawnie

Edytowane przez Ghostman

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...