[EXCEL] ByRef argument tpe mismatch

Pagina: 1
Acties:
  • 528 views sinds 30-01-2008
  • Reageer

  • k0ewl
  • Registratie: December 2003
  • Laatst online: 15-07 11:23
Beste GoT-ters

Nog steeds met mijn boekhoudprogramma bezig in Excel.
Ik heb een heel erg groot deel van de functies af, maar doordat ik niet alles mooi had onderverdeeld in functies en subs, heb ik mijn code grotendeels herschreven.

Nu krijg ik alleen de volgende error:
Compile Error:
ByRef argument type mismatch
Nu staat er in de help dat dat komt doordat ik in de code ergens een variabele naar een functie stuur die qua types niet overeenkomen.

Het gaat om het volgende stukje code.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim current_id, entry_row As Integer

    entry_row = overviewHasId(current_id)
End Sub

Function overviewHasId(entry_id As Integer) As Integer
    Dim found_cell As Range
    
    Set found_cell = Worksheets("Grootboek").Range("A:A, H:H").Find(entry_id, lookAt:=xlWhole)
    
    If Not found_cell Is Nothing Then
        overviewHasId = found_cell.Row
    Else
        overviewHasId = 0
    End If
End Function


Volgens mij klopt het zo wel, want ik heb gewoon overal Integers?
Iemand nog ideeën?

A byte walks into a bar and orders a pint. Bartender asks him "What's wrong?" Byte says "Parity error." Bartender nods and says "Yeah, I thought you looked a bit off."


  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 22:07
Maar in deze code is je entry_id leeg als je het in die functie gebruikt.
(en ik meen me te herinneren dat in regel 2 je nu entry_id als variant en entry)row als integer dimensioneerd, maar daar het erg vroeg is zou het zo kunnen dat ik beter weet als mijn hersens uit stand-by komen.

  • Maasluip
  • Registratie: April 2002
  • Laatst online: 15:57

Maasluip

Kabbelend watertje

* onkl heeft gelijk (maar het is blijkbaar vroeg want je uitleg drong ook pas na drie keer lezen door ;) )

Als je
code:
1
Dim current_id, entry_row As Integer
doet in Worksheet_Change is current_id niet als integer gedefinieerd maar als Variant (of is leeg). Je moet beide expliciet als "As Integer" dimmen.

[ Voor 5% gewijzigd door Maasluip op 04-05-2006 09:19 ]

Signatures zijn voor boomers.


  • k0ewl
  • Registratie: December 2003
  • Laatst online: 15-07 11:23
Thnx a bunch, kan nu weer lekker verder proggen :D

A byte walks into a bar and orders a pint. Bartender asks him "What's wrong?" Byte says "Parity error." Bartender nods and says "Yeah, I thought you looked a bit off."