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

plakken in cel, indien vol naar volgende regel/ lege cel

Status
Niet open voor verdere reacties.

RMSpan

Gebruiker
Lid geworden
17 mrt 2022
Berichten
82
Beste mensen
Ik probeer het volgende probleem op te lossen:
ik wil factuurgegevens (datum, klantnaam, factuurnummer, bedrag, e.d.), staan in het blad verkoopfactuur, middels een macro kopiëren naar het blad verkoop opbrengsten, daar staat een tabel die dan alle factuurgegevens door het jaar bij elkaar optelt, nu neem ik die gegevens handmatig over.
De code die ik heb geschreven ziet er als volgt uit:(kan misschien wel anders, korter maar mijn kennis in deze is beperkt)

Code:
Sub Copy_Factuurgegevens()


Sheets("verkoopfactuur").Select
    Range("F10").Select
    Selection.Copy
    Sheets("Verkoop & Opbrengsten").Select
    Range("B6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
Sheets("verkoopfactuur").Select
Range("F11").Select
    Selection.Copy
    Sheets("Verkoop & Opbrengsten").Select
        Range("D6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False


Sheets("verkoopfactuur").Select
Range("G15").Select
    Selection.Copy
    Sheets("Verkoop & Opbrengsten").Select
        Range("E6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
Sheets("verkoopfactuur").Select
Range("F5").Select
    Selection.Copy
    Sheets("Verkoop & Opbrengsten").Select
        Range("F6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
Sheets("verkoopfactuur").Select
Range("J44").Select
    Selection.Copy
    Sheets("Verkoop & Opbrengsten").Select
        Range("G6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False




End Sub

Dit werkt op de eerste rij, als echter de eerste cel( B6 in dit geval) in de eerste rij vol is dan moet er naar de eerste cel in de tweede rij (B7 dus)gesprongen worden enz maar natuurlijk moeten dan ook alle andere doelcellen met 1 verhoogt worden, dus E6 wordt E7, F6 wordt F7 G6 wordt G7.
Het is nogal een groot bestand met veel gegevens dus heb ik maar even een plaatje van beide bladen bijgevoegd, ik hoop dat mijn uitleg van de vraag een beetje duidelijk is.
Ben heel benieuwd naar de oplossing.
m.v.g René
Factuur afbeelding.jpeg
Verkoopblad afbeelding.jpeg
 
wil je a.u.b. een excelbestand plaatsen waar dit ook in zit?
LET OP dat er geen "gevoelige" gegevens in staan
 
Bijdeze een testbestand
Ik hoop dat het zo duidelijk is, anders hoor ik het graag.

Vast bedankt voor je interesse
 

Bijlagen

Verwijder alle lege regels van de tabel door rechtsonder het pijltje te pakken en naar boven te slepen.
Daarna van alle cellen buiten je tabel de randenopmaak verwijderen.

De tabel wordt door onderstaande code steeds aangevuld.
Doe je bovenstaande niet, wordt het resultaat helemaal onderaan de tabel weggeschreven.

Code:
Sub hsv()
With Sheets("verkoopfactuur")
  sv = Array(CDate(.[f10]), "", .[f11], .[g15], .[f5], .[j144])
  Sheets("verkoop & opbrengsten").ListObjects(1).ListRows.Add.Range = sv
End With
End Sub
 
Hallo emields
Je bestand(bijlage) wordt niet door mijn excel versie ondersteund, 365 V 16.43
 
Beste HSV

Bedankt voor je snelle reactie
Het kopiëren werkt gedeeltelijk, probleem zit hem in een paar formules die in de cellen van Verk & Opbr staan
Ik heb een minder uitgekleed bestand bijgevoegd.
De formules van de BTW berekening heb ik eruit gehaald, die staan ook in de factuur en worden dus nu met jouw code vandaar uit gekopieerd
Het probleem zit hem in kolom O en P in beide kolommen staan formules die nodig zijn voor de BTW verwerking in het tabblad BTW
Deze moeten dus intake blijven, de kolom M is minder belangrijk, was een leuke vingeroefening maar die opmerkingen hoeven er niet in.
Ik heb de tabel nog intact gelaten i.v.m Tabblad BTW.

Ik hoop dat deze testversie meer duidelijkheid geeft over wat de bedoeling is.
M.v.g
René

Ps ik werk op een Mac.
 

Bijlagen

Geen formule voor nodig in de kolommen O en P.

Ik heb de formule in kolom M maar met Filldown doorgevoerd.
Normaal is dat niet nodig met een tabel, maar zal waarschijnlijk komen daar het is gemaakt met een Mac.


Code:
Sub hsv()
Dim sh As Worksheet
Set sh = Sheets("verkoopfactuur")
sv = Array(CDate(sh.[f10]), "", sh.[f11], sh.[g15], sh.[f5], sh.[j44], sh.[J45], sh.[J46], sh.[J47])
  With Sheets("verkoop & opbrengsten").ListObjects(1)
    .ListRows.Add.Range = sv
    .DataBodyRange(1, .ListColumns.Count).Resize(.ListRows.Count).FillDown
    .DataBodyRange(.ListRows.Count, .ListColumns.Count).Offset(, 2).Resize(, 2) = Array(Month(sh.[f10]), Year(sh.[f10]))
  End With
End Sub

Je kan de array uitbreiden zoals je al had gedaan naar het aantal kolommen die de tabel bevat.
 

Bijlagen

Beste Harry
Bedankt, het kopiëren werkt nu prima.
Er doet zich nu alleen een ander probleempje voor, De code in het BTW blad wordt nu volledig overhoop gegooid.

Dit is de code die er in staat
Code:
=SOMMEN.ALS('Verkoop & Opbrengsten'!$G$6:$G$500;'Verkoop & Opbrengsten'!$O$6:$O$500;3;'Verkoop & Opbrengsten'!$H$6:$H$500;0,21;'Verkoop & Opbrengsten'!$P$6:$P$500;Gegevens!C5)

Bij het kopiëren wordt een gedeelte van de code veranderd naar het werkelijke bereik "...$G$6:$G$11..." i.p.v " ...$G$6:$G$500..." en daarna telkens met 1 verhoogd.(zie D12)

Code:
=SOMMEN.ALS('Verkoop & Opbrengsten'!$G$6:$G$11;'Verkoop & Opbrengsten'!$O$6:$O$500;2;'Verkoop & Opbrengsten'!$H$6:$H$11;0,09;'Verkoop & Opbrengsten'!$P$6:$P$500;Gegevens!C5)

Wanneer beide waarde met 1 verhoogd zouden worden werk het wel.

Wanneer
Code:
Verkoop & Opbrengsten'!$G$6:$G$11
niet hetzelfde is als
Code:
Verkoop & Opbrengsten'!$O$6:$O$500
dan gaat het fout en krijg ik de Waarde melding.

Ik heb in het blad "BTW(maand)" de formule in D11 en D16 aangepast handmatig en in beide gevallen werkt het dan wel.

Wil jij er nog even naar kijken?
Bestandje weer bijgevoegd.

M.v.g.
René
 

Bijlagen

René, ik heb van kolom O en P een tabel gemaakt.
De code aangepast.
Van blad BTW (maand) heb ik alleen kolom C voor je gedaan t/m juni (neem aan dat je de rest zelf kunt).
 

Bijlagen

Factuurprgm

Hoi Harry

Het heeft toch nog even geduurd, maar het programmaatje is klaar.
Heel hartelijk bedankt voor je hulp.
Ik heb een werkende versie bijgesloten.
Ik heb dit (met jouw hulp) gemaakt voor mijn nichtje die als ZZPer is begonnen.
Misschien zijn er andere ZZPers die z'on factuurprogrammaatje ook makkelijk vinden, ze zijn van harte welkom om het te gebruiken.
De beveiliging van de tabbladen zijn zonder wachtwoord, alleen moet het Path in de VB module opslaan aangepast worden naar hun situatie.

Nogmaals bedankt

M.v.g. René
 

Bijlagen

zeer goed gedaan, wel nog enkele schoonheidsfoutjes. zie oa het validatie bereik op de factuur.( eventjes aangepast voor u) en kuis ook uw benoemde bereiken een beetje op.
en is dit de devinetive of de definitieve versie
 

Bijlagen

Definitief dan maar, :confused::D bedankt voor de aanpassingen
En natuurlijk blijf ik openstaan voor verbeteringen.

Hoe sluit ik een opgeloste probleem/vraag ?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan