HTMLWorld - HTML, CSS, JavaScript, PHP, Java, Flash und vieles mehrHTMLWorld:   Home | Impressum
 

 
 

Anzeige 
 
HTMLWorld » Forum

Thema anzeigen - [VBScript] If.. else Abfrage macht seltsame Dinge

 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

[VBScript] If.. else Abfrage macht seltsame Dinge

 

Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   VB, VBS, VBA, VB.NET
Vorheriges Thema:
Nächstes Thema:  
Autor Nachricht
Narale



Anmeldungsdatum: 23.11.2009
Beiträge: 2

BeitragVerfasst am: 23.11.2009 14:24:31    Titel: [VBScript] If.. else Abfrage macht seltsame Dinge Antworten mit Zitat

Hallo zusammen
Ich muss in einem Excelsheet aus zwei Worksheets den jeweils letzten Wert in Spalte A auslesen (sie sehen so aus: 122-2009)
Gut, das funktioniert soweit auch.
Dann splitte ich diese Werte, und zwar dort, wo das - ist, so dass ich zwei Arrays habe;
Die beiden Arraypositionen 0 (also arr(0) und arr2(0)) wandle ich danach in den Typ Long um, um diese beiden Werte zu vergleichen.

Gut, das Ganze sieht so aus:
Code:

Public Sub auftragsnr()
    'Call Workbook_Open
    high1 = ws1.Cells(Rows.Count, 1).End(xlUp)
    high2 = ws2.Cells(Rows.Count, 1).End(xlUp)
    highest1 = Split(high1, "-")
    highest2 = Split(high2, "-")
    highest1(0) = CLng(highest1(0))
    highest2(0) = CLng(highest2(0))
   
    If highest1(0) > highest2(0) Then
        nxt = highest2(0) + 1
    End If
    If highest2(0) <= highest1(0) Then
        nxt = highest1(0) + 1
    End If
End Sub


Das Problem ist jetzt, dass nxt IMMER dem Wert von highest2(0) entspricht, auch dann, wenn highest1(0) eigentlich grösser wäre.
Ich seh aber irgendwie das Problem nicht..!

Wäre froh um rasche Hilfe, wenn ich das so sagen darf...

Liebe Grüsse
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Kambfhase
Häufiger Poster


Anmeldungsdatum: 19.03.2006
Beiträge: 235

BeitragVerfasst am: 23.11.2009 15:38:09    Titel: Re: [VBScript] If.. else Abfrage macht seltsame Dinge Antworten mit Zitat

Problem gefunden:
Narale hat folgendes geschrieben:

Code:

    If highest1(0) > highest2(0) Then
        nxt = highest2(0) + 1
    End If
    If highest2(0) <= highest1(0) Then
        nxt = highest1(0) + 1
    End If


Du hast hier doppelt gemoppelt gearbeitet. Mal umgeschrieben:

Falls highest1 größer als highest2, sei nxt= highest2(0) + 1
Falls highest1 größer gleich als highest2, sei nxt= highest1(0) + 1

Am besten du reduzierst das ganze auf eine einzige Abfrage mit einem Else-zweig.

mfG Hase
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Narale



Anmeldungsdatum: 23.11.2009
Beiträge: 2

BeitragVerfasst am: 23.11.2009 16:06:05    Titel: Antworten mit Zitat

Hm, ne das war's nicht.
Hab da nen falschen Code gepostet... Hatte da was versucht und nicht mehr vollständig zurückgesetzt.


Eigentlich sah es so aus (so schematisch):
Code:
if arr1(0) < arr2(0) then
nxt = arr2(0)
End if
if arr1(0) >= arr2(0) then
nxt = arr1(0)
end if



Else if hab ich beim testen verhauen, darum zwei If.

Aber gut, das Problem war schlussendlich die Konvertierung, glaube ich.
Hab das arr1(0) = CLng(arr1(0)) umgeschrieben zu hi1 = CLng(arr1(0)).

Danke dennoch!

LiGrü
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   VB, VBS, VBA, VB.NET
Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.