Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,
ik gebruik volgende functie om een kolomnaam van een nummer te verkrijgen :

Function ColumnNumberToColumnCharacter(ByVal Number As Integer) As String
While (Number > 0)
ColumnNumberToColumnCharacter = Chr(Asc("A") + (Number - 1) Mod 26) + ColumnNumberToColumnCharacter
Number = (Number - 1) \ 26
Wend
End Function

Deze functie roep ik als volgt op :
KolomLet = ColumnNumberToColumnCharacter(kolom) waar kolom een integer is.


Probleem is echter dat VBA ook naar deze functie springt, ook al vraag ik het niet. Bvb in volgende instructies :

Sheets("PersBezetting").Range("A" & invul).Value = Datum
Sheets("PersBezetting").Range("B" & invul).Value = "=WEEKNUM(RC[-1],11)"
Sheets("PersBezetting").Range("C" & invul).Value = "Admin"
Sheets("PersBezetting").Range("D" & invul).Value = admin

In deze dan weer niet :
invul = invul + 1

Weet iemand hoe het komt dat VBA naar de functie springt ?

alvast bedankt voor de hulp

Alle reacties


Acties:
  • 0 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 18:51
[offtopic]die functie kan beter (lees: sneller). Probeer deze versie (zonder loops) eens...
Visual Basic:
1
2
3
4
5
Private Function Col_Letter(lngCol As Long) As String
    Dim vArr
    vArr = Split(Cells(1, lngCol).Address(True, False), "$")
    Col_Letter = vArr(0)
End Function
.

@Verwijderd Ontopic: Begrijp ik nou goed dat, bij uitvoering van de code
Visual Basic:
1
Sheets("PersBezetting").Range("A" & invul).Value = Datum

vba naar de functie springt? Dat is wel erg vreemd.... :?