Toon posts:

[VB] Excel macro

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo mede tweakers,
ik heb een macro gemaakt, die opzich goed werkt. Maar natuurlijk niet helemaal goed (anders vroeg ik niet op hulp.

Dit is mijn code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub Telmacro()
i = 1
While Len(Range("A" + Trim(Str$(i))).Value) > 0
    x = Range("A" + Trim(Str$(i))).Value
    j = 1
    gevonden = 0
    While Len(Range("D" + Trim(Str$(j))).Value) > 0
      If Range("D" + Trim(Str$(j))).Value = x Then
          Range("E" + Trim(Str$(j))).Value = Range("E" + Trim(Str$(j))).Value + 1
          gevonden = 1
      End If
      j = j + 1
    Wend
     If gevonden = 0 Then
            Range("D" + Trim(Str$(j))).Value = x
            Range("E" + Trim(Str$(j))).Value = 1
      End If
    i = i + 1
Wend
End Sub


De fout zit het em in dat zodra een een waarde is 'test' (met de ' erbij) dan telt ie ze wel. Maar zet er dan test' in de cel, terwij er wel (in het vakje boven aan) 'test'.
Als ik andere waardes gebruik, zonder quotes dan gaat het wel goed.

Weet iemand hoe ik dit probleem kan oplossen (zodat ik wel dingen kan tellen die tussen ' staan)

Verwijderd

Mag ik aannemen dat je een String waarde 'test' hebt, mar dat je er mee wilt rekenen?

In dat geval moet je even converteren:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
DIM Tekst AS string
DIM Waarde AS Double
ON ERROR RESUME NEXT ' Converteren van tekst gaat fout, dus gewoon negeren

Tekst$="Testje"
Waarde=0: Waarde=CDBL(Tekst$)

' CDBL() converteerd een variabele naar een Double-waarde
'Aangezien dat fout gaat, behoudt het z'n waarde 0

Tekst$="1234"  ' Let op! dit is Tekst, en geen getal
Waarde=0: Waarde=CDBL(Tekst$)

' CDBL() converteerd een variabele naar een Double-waarde
'Aangezien dat hier goed, krijgt waarde de getalswaarde 1234