• 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.

VBA project

Status
Niet open voor verdere reacties.

jojajupa

Gebruiker
Lid geworden
21 jan 2011
Berichten
115
Hallo,
Mijn compagnon heeft een exelbestand met een VBA project verkeerd opgeslagen.
Nu werkt de doornummering niet meer. Deze doornummering gebruiken wij voor elke volgende rekening die gemaakt word en in dit bestand wordt opgeslagen.

De code van het project staat in de volgende 'Gesloten' vraag:

Exelwerkblad met een VBA project in Dropbox

Het gaat om de doornummering van: 2016-000.
Ondertussen staan in de map 73 bestanden.
Dus bij het openen van het exel bestand zou het nummer automatisch: 2016-074 moeten gaan worden.
Maar dit gebeurt nu dus niet meer. Het nummer blijft staan op 2016-001.
Het is net of de code de andere 73 bestanden niet ziet staan.
Ik vermoed dat het te maken heeft met: 'Inhoud inschakelen' Deze opdracht krijg ik nl niet meer.
Wie kan mij vertellen hoe ik dit weer goed krijg.

Onderstaande code staat in het project.

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

x = -1
cl = Dir(Environ("userprofile") & "\Dropbox\Corpoli\*")
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
 
De code werkt goed.
Staan in de map 'Dropbox\Corpoli' de 73 bestanden nog wel?

De x-1 moet er sowieso uit.
Je hebt 73 bestanden in een map en het moet 74 worden.
Hier....
Code:
.Value = IIf(x > 0, x + 1, 1)
...doe je namelijk een x+1
 
Of hou het simpel

Maak een bestand met de naam "1~"
Code:
Sub M_snb()
    Open "G:\OF\1~" For Output As #1
    Close
End Sub

en lees daaruit per keer het opvolgende faktuurnummer

Code:
Sub M_snb_001()
   y = Val(Dir("G:\OF\*~"))
   Name "G:\OF\" & y & "~" As "G:\OF\" & y + 1 & "~"
End Sub
 
Beste HSV,

De 73 bestanden staan er nog.
Maar ik krijg het exel bestand niet zo dat deze bij het openen naar 2016-074 springt.
De formule wordt niet geactiveerd.
 
Staat de code wel in Thisworkbook_module?
 
Ja de code stond eerst in Blad 1 onder Microsoft Excel - objecten.
Nu in ThisWorkbook.
Dat heb ik opgeslagen. Maar ik krijg alsnog geen melding: 'Inhoud inschakelen'
 
Heb je macro's toestaan wel ingeschakeld?
 
Die heb ik niet uitgeschakeld. Ze werkten altijd.
Ik werk nu met exel 2016.
Maar kan 'Marco's inschakelen' niet zo gauw vinden.
 
Open ThisWorkbook waar de code staat.
Zet de cursor achter '_Open()', en druk F8 en kijk wat er gebeurt.
 
Voorheen zag ik ook een apart tekentje staan bij het exel bestand in de map.
Een bestand die, als je die opent, een formule gaat berekenen.

Nu staat er gewoon een exelbestand
 
Als je wat vaker drukt op F8, zie je dan ook dat de regel 'x =x + 1' ok geel wordt?
Als dat zo is, druk nu eens F5, en kijk wat het resultaat is in B5.
 
Dan zitten er geen bestanden in die bewuste map.
 
x=-1 wordt wel geel.
Deze heb ik ook verwijderd en dan wordt x=x+1 niet geel.
Wel of niet verwijderen.
Op de een of andere manier kan ik de inhoud niet inschakelen.
Doe ik misschien iets fout met het opslaan van de VBA code?
 
In dezelfde map zitten 73 exelbestanden die wij als pdf hebben opgeslagen.
 
Ik heb het zelf toevallig ook gecontroleerd op Pdf bestanden.
Wat is de waarde van:
msgbox environ("Userprofile")

En wat staat er in de eigenschap van de Map waar de Pdf's zich bevinden.
 
Ik heb nu een paar bestanden aangemaakt.
1 als een exelbestand met macro's
1 als een pdf bestand.
Maar dan ziet het oorspronkelijke bestand deze bestanden niet.
Er zal iets niet goed ingesteld zijn. Helaas.
Ik hoop dat ik er morgen alsnog achter kom.
Bedankt eerst voor uw hulp.
 
x = -1
cl = Dir(Environ("userprofile") & "\Dropbox\Corpoli\*")
Do Until cl = ""
x = x + 1
cl = Dir
 
Geef eens een reactie op mijn vorige vraag als je het getest hebt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan