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

Vraag voor Hans 123

  • Onderwerp starter Onderwerp starter emc
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

emc

Gebruiker
Lid geworden
21 jan 2003
Berichten
450
Hoi Hans,

Wederom een vraagje inzake mijn standaard factuur. Ik hoop dat je mij weer verder kunt helpen:
In een eerder stadium (toch handig dat alles beschikbaar blijft) heb je iets aangepast waardoor na het opslaan in de factuur zelf (dus niet in het standaard bestand) de datum niet meer verandert. Om de één of andere reden is dit eruit. Ik heb de tekst in VB (module) van mijn huidige factuur en het door jou gemaakte bestand met elkaar vergeleken, maar kan op de verwijzing naar de tabbladen geen wijzigingen ontdekken.

Hierbij de tekst uit "mijn" module:

Sub opslaan()
dit_werkblad = ActiveWorkbook.Name

pad = Sheets(1).Range("N1").Value
If Right(pad, 1) <> "\" Then pad = pad & "\"
Jaar = Sheets(1).Range("N2").Value
maand = Sheets(1).Range("N3").Value
If maand < 10 Then maand = "0" & maand
factuurnummer = Sheets(1).Range("N4").Value



klant = Cells(2, 2).Value

bestand = pad & Jaar & maand & " - " & factuurnummer & " - " & klant
bericht = "Bestand wordt opgeslagen als:" & Chr(10) & bestand & Chr(10) & "Is dit correct ?"
naam_ok = MsgBox(bericht, vbYesNo)

If naam_ok = vbYes Then
Sheets(Array("Invoerblad", "Winkelier", "Factuur", "Factuur met korting", "Creditfactuur")).Copy
Sheets(Array("Invoerblad", "Winkelier", "Factuur", "Factuur met korting", "Creditfactuur")).Select
Sheets("Invoerblad").Activate
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A1").Select
Sheets("Invoerblad").Select
ActiveWorkbook.SaveAs Filename:=bestand
ActiveWorkbook.Close


'hier wordt een tekst bestand gemaakt (als hij niet bestaat) met naam laatste_factuur.txt om laatste nummer in op te slaan
lastfac = Dir(pad & "laatste_factuur.txt")
If lastfac = "" Then
CreateObject("Scripting.FileSystemObject").CreateTextFile pad & "laatste_factuur.txt"
End If

'hier wordt in het textbestand het laatst opgeslagen factuurnummer gezet
Open pad & "laatste_factuur.txt" For Output As #1
Write #1, CInt(factuurnummer)
Close #1

factuurnummer = CInt(factuurnummer) + 1
If factuurnummer < 10 Then
factuurnummer = "000" & factuurnummer
ElseIf factuurnummer < 100 Then
factuurnummer = "00" & factuurnummer
ElseIf factuurnummer < 1000 Then
factuurnummer = "0" & factuurnummer
End If

Sheets(1).Range("N4").Value = factuurnummer

End If





End Sub

Sub auto_open()


pad = Sheets(1).Range("N1").Value
If Right(pad, 1) <> "\" Then pad = pad & "\"

lastfac = Dir(pad & "laatste_factuur.txt")

If lastfac = "" Then
' geen tekstbestand gevonden, nummer 1 wordt gebruikt
factuurnummer = 0
Else
Open pad & "laatste_factuur.txt" For Input As #1
Line Input #1, factuurnummer
Close #1

End If
factuurnummer = CInt(factuurnummer) + 1
If factuurnummer < 10 Then
factuurnummer = "000" & factuurnummer
ElseIf factuurnummer < 100 Then
factuurnummer = "00" & factuurnummer
ElseIf factuurnummer < 1000 Then
factuurnummer = "0" & factuurnummer
End If

Sheets(1).Range("N4").Value = factuurnummer

End Sub


Kun jij zien hoe het komt dat het factuurnummer in de factuur zelf toch verandert? Weet jij hoe op te lossen?

Alvast bedankt voor je moeite, ik heb er eerder een algemene topic van gemaakt, maar kom er met de daar gegeven oplossingen niet uit.

Groet, emc
 
Mag de rest van de forumleden niet reageren?
hu.gif
:rolleyes:
 
Hallo emc,

Tijd niets van je gehoord !.

Ik denk dat de problemen veroorzaakt worden door het wijzigen van de tabbladnamen t.o.v het origineel. De macro zou hierop met een foutboodschap moeten stoppen.


In de regel Sheets(Array("Invoerblad", "Winkelier", "Factuur", "Factuur met korting", "Creditfactuur")).Copy zou je de bladen tussen aanhalingstekens moeten vervangen door de werkelijke naam van je bladen, dit uiteraard ook in de regel daaronder

Hierna worden deze bladen met plakken speciaal waarden gekopieerd naar een nieuw bestand, waarna de datum dus vaststaat.

Ik hoop dat het hiermee weer gaat werken.
 
Iedereen mag reageren, zie ook andere topic, maar toen kwam ik er niet uit.

Hoi Hans,

Tja, als het goed gaat....

De namen die in de fomule staan (("Invoerblad", "Winkelier", "Factuur", "Factuur met korting", "Creditfactuur") zijn de goede namen. Toen ik de tabbladen heb aangepast heb ik dit mee veranderd. Dus had ik bedacht dat de handeling die jij hebt gedaan om te voorkomen dat de datum in het opgeslagen bestand zich aanpast aan de huidige datum misschien opnieuw erin gezet moet worden, ik weet alleen niet hoe? In het eerste topic ( van gisteren) worden 2 opties aangeboden, maar daar kom ik niet mee uit de voeten.

Alvast bedankt. Groet, emc
 
Ik heb nogmaals naar de code gekeken, maar daar kan eigenlijk niet zo heel veel fout gaan, het hele werkblad wordt gekopieerd en dan met plakken speciaal de waarden erin gezet zodat er geen formule overblijft.

Ik dit ook nog getest met de versie die je in je andere vraag had gezet ( ik neem aan dat je in je bijlage 2 bladen gewist hebt, 'winkelier' en 'Factuur met korting') en ook daar werkte het bij mij goed.

Ik kan er dus weinig aan doen.
 
Hoi Hans,

Ik snap er ook niets van, toch ligt het wel ergens aan de code, ik zal er wel overheen kijken. Ik heb nu de oude code in het nieuwe bestand gekopieerd, verwijzing naar tabbladen aangepast, opgeslagen, datum een dag vooruit gezet, et voila. Nou ja, het werkt weer, in ieder geval bedankt voor het meedenken.

Groet, emc.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan