Toon posts:

[VBA] gegevenstypeverandering case select?

Pagina: 1
Acties:

Verwijderd

Topicstarter
In VBA (ms-exel) heb ik een macro waarin variabelen wordt gedeclareerd. Een van de variabelen (SG) wordt mede gebruikt om een resultaat te berekenen. Indien de variabele (SG) één enkele waarde krijgt dan loopt de macro zonder fouten, echter indien de variabele (SG) een waarde toegekend krijgt via een 'case select' instructie loopt de macro vast.

Hoe kan dit? Vindt er een gegeventypeverandering plaats?
Wat is een evt. oplossing?

:?

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
Je case bevat geen default, en de waarde die het ding default heeft laat het ding vastlopen.

Gebruik geen varianten en delareer al je variabelen.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Verwijderd

Topicstarter
Ik heb alle variabelen gedeclareerd, maar wat bedoel met default? Moet de variabele een defaultwaarde hebben voordat de case select procedure doorlopen wordt?

Het vreemde is namelijk dat er in eerste instantie geen problemen zijn maar nadat de procedure een aantal duizend keer doorlopen is loopt deze vast.

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
Wat ik bedoel is dat er geen Case Else in je Select staat die de var een default waarde geeft als er geen case voldoet.

Maar misschien kun je ff de relevante code posten ?

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Verwijderd

Topicstarter
Ik heb inderdaad geen case else toegepast maar volgens mij is die ook niet nodig, zie code.

Select Case p
Case Is < 10
Select Case OL
Case Is > 10
SG = 0.95
Case Is > 2
SG = 0.9
Case Is <= 2
SG = 0.85
End Select
Case Is < 50
Select Case OL
Case Is > 10
SG = 0.89
Case Is > 2
SG = 0.84
Case Is <= 2
SG = 0.79
End Select
Case Is >= 50
Select Case OL
Case Is > 10
SG = 0.83
Case Is > 2
SG = 0.78
Case Is <= 2
SG = 0.73
End Select
End Select

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
Lieve help ...... misschien kun je het even tussen code tags plaatsen ( zie FAQ )

Ik ben te goed voor deze wereld:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Select Case p
  Case Is < 10
    Select Case OL
      Case Is > 10
        SG = 0.95
      Case Is > 2
        SG = 0.9
      Case Is <= 2
        SG = 0.85
    End Select
  
  Case Is < 50
    Select Case OL
      Case Is > 10
        SG = 0.89
      Case Is > 2
        SG = 0.84
      Case Is <= 2
        SG = 0.79
    End Select
  
  Case Is >= 50
    Select Case OL
      Case Is > 10
        SG = 0.83
      Case Is > 2
        SG = 0.78
      Case Is <= 2
        SG = 0.73
    End Select
  
  
End Select



Even afgezien van het feit dat ik compleet tureluurs wordt van dit fragment code ( en dat in een minimaal aantal regels :) ) heb je wel gelijk, volgens mij worden alle cases afgevangen.

Maareuhm, zonder de context waarin deze code is geplaatst kun je er weinig over zeggen....

BTW, dit is een leerzame link : http://mindprod.com/unmain.html

[ Voor 108% gewijzigd door farlane op 25-02-2004 19:17 ]

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Verwijderd

Topicstarter
farlane,

bedankt voor je suggesties ik ga even op de bijgevoegde link kijken.

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
Verwijderd schreef op 26 februari 2004 @ 12:46:
farlane,

bedankt voor je suggesties ik ga even op de bijgevoegde link kijken.
Is niet verkeerd denk ik ;) , maar je hebt er mbt die macro van je op dit moment niet veel aan.
Post eens wat meer code zodat we wat meer overzicht krijgen.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.

Pagina: 1