factuurhistorie aanmaken

Status
Niet open voor verdere reacties.

RobdeJonge

Nieuwe gebruiker
Lid geworden
19 nov 2018
Berichten
2
Hoi,

Ik ben al op zoek geweest , maar aangezien ik totaal niet thuis ben in VBA, heb ik niets passends gevonden.
Wel dingen die ik ook nodig heb, zoals factuur ophogen etc. maar dan ben ik er nog niet.
Ik heb bezig met een factuur-formulier, maar ik heb geen idee hoe ik factuurhistorie kan toevoegen en nummer factuurnr. ophogen.

Zoek code om het volgende te doen. (kan volgens mij niet rechtstreeks in Excel)

Bij een druk op de knop ( met tekst "factuur opslaan" of zoiets) moet het volgende gebeuren :
Onderaan tabblad "Factuur" staan in celbereik B38:j38 een aantal factuurgegevens.

1. Deze wil ik kopiëren naar tabblad "Historie" , maar wel onderaan de bestaande lijst (Last.Row)
Het gaat hierbij om factuur-totalen, zoals factuurnummer, bedragen , btw , referentie , etc.
2. Vervolgens moet het document worden opgeslagen (met de aangepaste historie dus)
3. Als laatste moet het factuurnummer in Cel B6 op Tabblad "Factuur" met 1 worden opgehoogd.
4. Indien mogelijk moet dan ook celbereik ( =Factuur!A12:A27 ) en (=Factuur!E12:E27) leeggemaakt worden.
Hierin staan artikelnummer en geleverde aantallen, waardoor het formulier weer leeg wordt.

Ik heb in de bijlage een verder leeg Excel bestand "factuur.xlsx" ge-upload om een idee te krijgen.

Ik weet dat dit voor sommige mensen een simpel dingetje is . voor mij niet dus.
Alvast bedankt voor de moeite,

Groet,
Rob de Jonge
Westervoort
 

Bijlagen

Hallo,

Deze code zou het moeten doen:

Code:
Option Explicit
Dim iRow As Long, i As Long
Dim rng As Range, fnd
Sub JanBG()
Range("B38:J38").Copy
With Sheets("Historie")
        iRow = .Cells.Find(What:="*", SearchOrder:=xlRows, SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1
        .Cells(iRow, 1).Resize(, 9).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
    End With
 Range("A12:A27").ClearContents
 Range("E12:E27").ClearContents
 
 Range("B6") = WorksheetFunction.Max([FACTUURNUMMER]) + 1
 
 ActiveWorkbook.SaveAs Filename:= _
        "C:\Factuur.xlsm", FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub

Bekijk bijlage Factuur.xlsm
 
Factureren doe je bij voorkeur niet vanuit Excel.
Er zijn voldoende voorbeelden te vinden hier waar je mee aan de slag kan al raad ik het niet aan. Als je net als JanBG niet thuis bent in VBA, begin er dan niet aan of verdiep je er eerst in. En dan nog schrijf je niet zomaar een programma die doet wat jij wil.

Voor het wegschrijven naar een database wordt over het algemeen zo'n constructie gebruikt.

Code:
Sub VenA()
  Sheets("Historie").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 9) = Array([B5], [B6], [B7], [B8], [B9], [H29], [H30], [H31], [H32])
End Sub
 
Laatst bewerkt:
Alsook.
Code:
 Range("A12:A27,E12:E27").ClearContents
 Range("B6") = range("b6").value + 1
 
@VeNa

Ik heb ooit leren lezen (op wat toen nog de lagere school genoemd werd).

Rob stelt vier vragen. Met de code die jij plaatst, wordt slechts 1 beantwoord, de andere drie sla je voor het gemak over.

Ik pretendeer niet een VBA expert te zijn, maar mijn code bewerkstelligt wel wat Rob vraagt en dat doet jou code niet
 
Vraag 2:

Code:
thisworkbook.save
 
Hallo,

Deze code zou het moeten doen:

Code:
Option Explicit
Dim iRow As Long, i As Long
Dim rng As Range, fnd
Sub JanBG()
Range("B38:J38").Copy
With Sheets("Historie")
        iRow = .Cells.Find(What:="*", SearchOrder:=xlRows, SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1
        .Cells(iRow, 1).Resize(, 9).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
    End With
 Range("A12:A27").ClearContents
 Range("E12:E27").ClearContents
 
 Range("B6") = WorksheetFunction.Max([FACTUURNUMMER]) + 1
 
 ActiveWorkbook.SaveAs Filename:= _
        "C:\Factuur.xlsm", FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub

Bekijk bijlage 332415

Hallo JanBG,

Voor zover hartstikke bedankt. Ik ga er van het weekend even goed voor zitten.

Gr.
Rob
 
Zie bijlage update de factuur om een factuur historie aan te maken.

Bijlage niet downloaden. Inbreng wordt niet gewaardeerd.
Ben wel met VeNa eens dat officieel factuur programma beter is, i.v.m kans op fouten. Regelmatig komen er vragen langs over factureren met Excel. Laat iemand dan aangeven dat dit niet verstandig is, i.v.m. fouten. Mocht de vraagsteller toch beslissen om verder te gaan met factureren met Excel, laat VeNa dan enkele voorbeeldbestanden plaatsen die volgens hem wel voldoen voor facturatie met Excel.
 

Bijlagen

Laatst bewerkt:
@gober, wat een ontzettend slecht geschreven code. Heb je dit zelf gemaakt of ook maar ergens gevonden?
 
Laatst bewerkt:
Kraak je een kind ook zo af als hij voor het eerst zijn naam foutloos schrijft?

Er zijn ICT projecten mislukt die miljoenen gekost hebben, gemaakt door mensen die een opleiding gevolgd hebben in de ICT en beweren kennis van zaken te hebben.
 
@gober,
Dus je hebt het zelf gemaakt? Dit bestand zweeft al rond sinds 2004 en steekt in mijn optiek slecht in elkaar. Als mijn kind na 14 jaar nog zo slecht schrijft, dan was ik er vast wel eerder bijgeweest.
 
@VeNa

Ik zou willen zeggen: "what's your problem??".

De enige inhoudelijke bijdrage die je in deze thread hebt geleverd, beantwoordt slecht 1 van de 4 vragen die gesteld wordt en voor het overige houdt je je vooral bezig om op een niet al te smaakvolle manier alles wat een ander inbrengt af te kraken.

Misschien moet je nog eens kijken naar een deel van de 'titel' die je binnen dit forum hebt verworven: "honoureble" member
 
@JanBG,

Mijn probleem is dat je bij voorkeur geen facturen maakt vanuit Excel. Als iemand het toch wil doen, dan zal deze een gedegen kennis moet hebben aan welke regels het opstellen van een factuur moet voldoen. De Belgische regels zijn anders dan de Nederlandse. Denk hierbij aan BTW% en andere wettelijke verplichtingen qua nummering en weet ik veel welke verschillen er zijn (weet ik wel) Om alle modificaties in wet- en regelgeving te ondervangen kan je er veel beter professionele software voor aanschaffen ipv zonder enige kennis van VBA een hier gevonden bestand zomaar plaatsen.

Voor de vier vragen zal dit ook wel voldoende zijn:
Code:
Sub VenA_HSV()
  Sheets("Historie").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 9) = Array([B5], [B6], [B7], [B8], [B9], [H29], [H30], [H31], [H32])
  Range("A12:A27,E12:E27").ClearContents
  Range("B6") = Range("b6").Value + 1
  ThisWorkbook.Save
End Sub

Om de titulatuur op dit forum geef ik niets.
 
@VeNA

Dank je! Als je dit nu in # 3 had gepost zou de rest van de thread niet nodig zijn geweest.
 
Zie #3, 4 en 6 samen. ;)
 
@RobdeJonge

Hier staat een excel facturatieprogramma wat zo beetje doet wat je wilt,
Hoop dat VenA de goedkeuring ;) kan geven als het gaat om facturen in excel te maken
let wel het is bedoeld voor de ZZP'er ik heb het voor mijzelf gemaakt.
verdere uitleg vindt je op de website

je kan het bestand downloaden van : https://wpdejong.jouwweb.nl/
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan