Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Type mismatch  (gelezen 3249 keer)

0 leden en 1 gast bekijken dit topic.

Offline WG

  • Ervaren lid
  • ***
  • Berichten: 366
  • Geslacht: Man
  • http://www.wimgielis.be
Type mismatch
« Gepost op: 24 augustus 2005, 08:47:41 »
dag oplossers,

Ik het een probleempje. Ik heb een array gedefinieerd: Ploeg(1 to 18). Nu wil ik hebben dat in een loop de waarde van een van de ploegen stijgt met de waarde in een andere cel:


Ploeg(5) = Ploeg(5) + Cells(15,20).Value

"verder loopen"

Er komt een foutmelding: type mismatch.

Hoe moet ik de code aanpassen om het toch te laten werken? De fout zit hem in '+ Cells(15,20).Value', want dit deel vervangen door +2 (bijvoorbeeld) geeft wel normale resultaten.

Bedankt alvast!

Wim
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline barthold

  • Volledig lid
  • **
  • Berichten: 171
  • ExWorks.be: Free Excel tools.
Re:Type mismatch
« Reactie #1 Gepost op: 24 augustus 2005, 09:17:57 »
wg,

waarschijnlijk heb je je array as integer of zo gedefinieerd (bv. dim Ploeg(1 to 18) as integer) en bevat de cel geen integer, maar een string of zo.

probeer eens met:
Ploeg(5) = Ploeg(5) + CInt(Cells(15,20).Value)

dit dwingt vba om de cell.value in een integer te veranderen...

bart
WinXP - Excel 2000/XP/2003

Offline WG

  • Ervaren lid
  • ***
  • Berichten: 366
  • Geslacht: Man
  • http://www.wimgielis.be
Re:Type mismatch
« Reactie #2 Gepost op: 25 augustus 2005, 13:42:42 »
Je zat er recht op Barthold, waarvoor grote dank!

WG
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline WG

  • Ervaren lid
  • ***
  • Berichten: 366
  • Geslacht: Man
  • http://www.wimgielis.be
Re:Type mismatch
« Reactie #3 Gepost op: 26 augustus 2005, 10:15:36 »
Er blijft toch nog een probleempje over...  :(

Dim goalvoor(1 To 18), goaltegen(1 To 18), winst(1 To 18), verlies(1 To 18), gelijk(1 To 18) As Integer
    tllr = 1
    For tllr = 1 To 18
        goalvoor(tllr) = 0
        goaltegen(tllr) = 0
        winst(tllr) = 0
        verlies(tllr) = 0
        gelijk(tllr) = 0
    Next


Dit wil niet werken zoals zou moeten. tllr blijft steeds op 0 staan, alhoewel ik toch expliciet tllr van 1 tot 18 laat lopen... Ook de code

tllr = 1

aan het begin heeft nog geen invloed: tllr blijft onveranderd op 0.
Gevolg is dat goalvoor, goaltegen, winst, verlies, ook niet correct zullen zijn.

Iemand een oplossing?

Bedankt

WG
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline WG

  • Ervaren lid
  • ***
  • Berichten: 366
  • Geslacht: Man
  • http://www.wimgielis.be
Type mismatch
« Reactie #4 Gepost op: 26 augustus 2005, 11:06:15 »
Er blijft toch nog een probleempje over...

Dim goalvoor(1 To 18), goaltegen(1 To 18), winst(1 To 18), verlies(1 To 18), gelijk(1 To 18) As Integer
Dim tllr As Integer
    tllr = 1
    If tllr < 19 Then
        Cells(tllr + 4, 95) = winst(tllr)
        Cells(tllr + 4, 96) = verlies(tllr)
        Cells(tllr + 4, 97) = gelijk(tllr)
        Cells(tllr + 4, 98) = goalvoor(tllr)
        Cells(tllr + 4, 99) = goaltegen(tllr)
        tllr = tllr + 1
    Else
    End If

Dit wil niet werken zoals zou moeten. Om de een of andere reden gaat tllr veranderen in 0 nadat de lijn met het * is uitgevoerd. Waarom is mij een raadsel. Alles gaat goed tot aan het *. Tllr gaat dus ineens naar 0, alhoewel ik toch expliciet tllr tussen 1 en 18 laat lopen... De andere regels uit de if-structuur worden ook niet uitgevoerd. Begrijpen wie kan, ik eigenlijk niet.

Iemand een oplossing?

Bedankt

WG
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline barthold

  • Volledig lid
  • **
  • Berichten: 171
  • ExWorks.be: Free Excel tools.
Re:Type mismatch
« Reactie #5 Gepost op: 28 augustus 2005, 12:53:23 »
De variabele declaratie voor tllr ontbreekt:
dim tllr as integer

Bovendien zijn de declaraties voor je arrays niet juist: elke variabele moet een "as" hebben:
Dim goalvoor(1 To 18) as integer, goaltegen(1 To 18) as integer,...
anders definieer je je arrays als variant, minder efficiënt...

En nog iets anders: waarom doe je dat niet met een 2-dimensionele array: dim results(1 to 18, 1 to 5) as integer
WinXP - Excel 2000/XP/2003

Offline barthold

  • Volledig lid
  • **
  • Berichten: 171
  • ExWorks.be: Free Excel tools.
Re:Type mismatch, nog probleempje
« Reactie #6 Gepost op: 28 augustus 2005, 17:22:08 »
De variabele declaratie voor tllr ontbreekt:
dim tllr as integer

Bovendien zijn de declaraties voor je arrays niet juist: elke variabele moet een "as" hebben:
Dim goalvoor(1 To 18) as integer, goaltegen(1 To 18) as integer,...
anders definieer je je arrays als variant, minder efficiënt...

En nog iets anders: waarom doe je dat niet met een 2-dimensionele array: dim results(1 to 18, 1 to 5) as integer
WinXP - Excel 2000/XP/2003

Offline WG

  • Ervaren lid
  • ***
  • Berichten: 366
  • Geslacht: Man
  • http://www.wimgielis.be
Re:Type mismatch
« Reactie #7 Gepost op: 29 augustus 2005, 08:51:46 »
Bedankt, ik ga het proberen...

WG
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

 


www.combell.com