• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Compileerfout in een VBA project.

Status
Niet open voor verdere reacties.

jojajupa

Gebruiker
Lid geworden
21 jan 2011
Berichten
115
Hallo,
Enkele dagen geleden heb ik een vraag gesteld over een code in een VBA project.
Door onderstaande code worden de rekeningnummers automatisch opgehoogd bij het openen van het exelbestand.

Private Sub Workbook_Open()
Dim x As Integer
Dim cl As String

x = -1
cl = Dir(Environ("userprofile") & "\Dropbox\Corpoli\Rekeningen\*")
Do Until cl = ""
x = x + 1
cl = Dir
Loop

With [Blad1!B5]
.Value = IIf(x > 0, x + 1, 1)
.NumberFormat = "2016-000"
End With
[Blad1!B6] = Date
End Sub

Op mijn laptop werkt dit perfect.

Ik heb mijn compagnon via de dropbox uitgenodigd zodat zij op haar computer de rekening ook kan aanvullen.
Bij het openen van het exel-bestand met bovenstaande code, opent het exel-bestand zich niet maar gaat het direct naar ThisWorkbook en krijgt zij de volgende melding:

Compileerfout:
Kan het project of de bibliotheek niet vinden

De code staat op exact dezelfde plaats, en ziet er ook exact hetzelfde eruit.
Wie heeft de oplossing?

Met vr. gr.
John
 
Als ik daarna op OK klik zie ik dat de bovenste regel: 'Private Sub Workbook_Open()' direct GEEL gearceerd wordt.
Ook het woord 'Environ' wordt direct BLAUW gearceerd.
 
Het bestand bij mijn compagnon is van het type: Microsoft Excel Macro-Enabled Worksheet
Het bestand op mijn laptop is van het type: Microsoft Excel-werkblad met macro's

Hier zit dus een verschil in. Terwijl het in dropbox zit.
 
Zo veel verschil zie ik niet: Je collega zal een engelse versie van Office hebben en jij een nederlandse... :rolleyes:
Overigens heb ik m.b.t. de VBA-code geen tips, want je VBA-code is puur engels en zou dus (in principe dan toch) in elke versie van Excel moeten kunnen werken.

Er zal dus wel wat anders aan de hand zijn, bijv. dat bij de collega de Dropbox cache map een andere is dan bij jou, dat ze (in Dropbox) geen rechten van jou heeft gekregen op de Corpoli map, dat ze nog een ander Dropbox account gebruikt, waardoor jouw mappenstructuur bij haar niet aanwezig is (zie deze link, laatste paragraaf) etc.

Als het probleem echt (puur) in de code zou zitten dan heb ik sowieso geen tips, want ik ben geen Excel expert.

Tijs.
 
Ik heb nog een verschil ontdekt.
Bij haar staat: Macro opnemen in het licht grijs. Dit is niet aan te klikken.
Bij mij is dit wel het geval. Ik 'Macro opnemen wel aanklikken.
 
Loop door de code met F8 en bekijk welke regel geel gemarkeerd wordt.
 
HSV: De bovenste regel: 'Private Sub Workbook_Open()' wordt geel. Wat kan ik daarmee doen?
 
Vreemd,

Macro's toestaan is ingeschakeld?
 
Als ik dan het VBA project wil wegklikken krijg ik de volgende melding: Deze opdracht onderbreekt de foutopsporing.
 
Kijk eens bij menu Tools → references en kijk wat er ontbreekt (Missing).
 
In de VB- editor.
 
Wat ik ook probeer, als ik het bestand wil openen, springt deze direct naar het overzicht dat je krijgt als je 'Alt + F11' indrukt.
Met direct de mededeling: Compileerfout: Kan het project of de bibliotheek niet vinden.
 
Ja, dat wist ik al, maar nog niet geprobeerd om references (Ned: Verwijzingen) te vinden.
 
Laatst bewerkt:
Maar je hebt nog geen antwoord gegeven op de vraag van Harry in #11 en die lijkt me heel relevant. Het bedoelde lijstje kan je hier vinden:
VBA.JPG
 
Dan zit daar misschien het probleem.
Verwijzingen blijft licht grijs en kan ik niet openen.
 
Deze is lichtgrijs als er een coderegel geel is gemarkeerd.
Druk op 'Menu Uitvoeren → onderbreken.
 
Werkt VBA er verder wel? Maak eens een test Subje:
Code:
Sub Test
    MsgBox "Test"
End Sub

Zet dan de cursor op de MsgBox regel en druk op F5.
Wat gebeurt er dan?
 
Maar dan verandert de code op mijn laptop ook. En daar werkt de VBA wel.

Plaats ik evt de code in ThisWorkbook?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan