Visual basic in Excel

Pagina: 1
Acties:

  • kwanten
  • Registratie: Oktober 2000
  • Laatst online: 12-07-2025

kwanten

Is goed bezig!!

Topicstarter
heeey mensen, ik heb in visual basic het volgende programma geschreven:

code:
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
34
35
36
37
38
39
40
41
42
Dim a As Integer
Dim b As Integer
Dim c As Integer

Dim teller As Integer


Sub begin()
                            'delete alle vakken
                            Cells.Select
                            Range("J5").Activate
                            Selection.ClearContents
                            Range("I1").Select

    a = 2
    c = 0
    b = 0
    teller = 0
Do
Do
Line1:
Dim MyValue
Randomize   ' Initialize random-number generator.

MyValue = Int((90000 * Rnd) + 1)    


Loop Until MyValue = 1

If b = 0 Then waarde# = 15
'Formule komt nog hier
Cells(a, 1) = waarde
teller = teller + 1
Cells(1, 2) = "aantal x gemeten"
Cells(2, 2) = teller
a = a + 1
If teller < 10 Then GoTo Line1 Else
Loop Until teller = 10



End Sub


Wat het programma zou moeten doen is, dat het een waarde inleest (in mijn geval die random) en als die 1 is, dan moet ie een waarde lezen (heb ik even vastgezet op 15), dan zet ie die waarde in een cel, en telt ie dat ie 1x heeft gemeten, dan gaat ie weer terug naar de random integer, om opnieuw te beginnen, alleen bij mij zet ie elke x meteen 5 waardes in excel neer, hoe kan ik dit veranderen zodat ie ze wel 1 voor 1 meet?

© kwanten 2001


Verwijderd

Beetje rare code. Probeer dit eens:

Visual Basic .NET:
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
34
35
36
37
Dim a As Integer
Dim b As Integer
Dim c As Integer

Dim teller As Integer


Sub begin()
    'delete alle vakken
    Cells.Select
    Range("J5").Activate
    Selection.ClearContents
    Range("I1").Select

    a = 2
    c = 0
    b = 0
    teller = 0
    
    Do
        Dim MyValue
        Randomize   ' Initialize random-number generator.

        MyValue = Int((90000 * Rnd) + 1)    

        If(MyValue=1) Then
            If b = 0 Then waarde# = 15  
            Cells(a, 1) = waarde
            teller = teller + 1
            Cells(1, 2) = "aantal x gemeten"
            Cells(2, 2) = teller
            a = a + 1               
        End If
    Loop Until teller >= 10


End Sub

Verwijderd

En ik zou een DoEvents plaatsen net voor de Loop Until...

  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

Verwijderd schreef op 14 oktober 2002 @ 13:21:
En ik zou een DoEvents plaatsen net voor de Loop Until...
precies .. en idd rare code. wat wil je in the end bereiken?

Verwijderd

tip : probeer goto's te vermijden ..