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

Inkorten of eenvoudiger maken macro mogelijk?

Status
Niet open voor verdere reacties.

jverkerk

Terugkerende gebruiker
Lid geworden
12 nov 2009
Berichten
1.716
Office versie
Microsoft 365
Hallo Helpmij-ers
Is het mogelijk om deze code in te korten en denk ik ook sneller of eenvoudiger te maken omdat er veel keer hetzelfde wordt gebruikt?

Code:
Sub Facturenoverzicht()

Sheets("Factuur").Select
    Range("B14").Select
    Selection.Copy
    Sheets("Facturenoverzicht").Select
    Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone

Sheets("Factuur").Select
    Range("B13").Select 'Factuurnummer
    Selection.Copy
    Sheets("Facturenoverzicht").Select
    Cells(Rows.Count, 2).End(xlUp).Offset(0, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone

Sheets("Factuur").Select
    Range("B11").Select 'Klantnummer
    Selection.Copy
    Sheets("Facturenoverzicht").Select
    Cells(Rows.Count, 3).End(xlUp).Offset(0, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone

Sheets("Factuur").Select
    Range("E20").Select 'BTW hoog laag
    Selection.Copy
    Sheets("Facturenoverzicht").Select
    Cells(Rows.Count, 4).End(xlUp).Offset(0, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
    
Sheets("Factuur").Select
    Range("F46").Select 'Totaal incl BTW
    Selection.Copy
    Sheets("Facturenoverzicht").Select
    Cells(Rows.Count, 7).End(xlUp).Offset(0, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone

Sheets("Factuur").Select
    Range("B1").Select 'Organisatie
    Selection.Copy
    Sheets("Facturenoverzicht").Select
    Cells(Rows.Count, 15).End(xlUp).Offset(0, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone

Sheets("Factuur").Select
    Range("H13").Select 'Volgnummer
    Selection.Copy
    Sheets("Facturenoverzicht").Select
    Cells(Rows.Count, 16).End(xlUp).Offset(0, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
End Sub

Vriendelijke groet
Johan
 
Eens met Ad.
Toch in de richting:
Code:
Sub Facturenoverzicht()
    With Sheets("Facturenoverzicht")
        .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Sheets("Factuur").Range("B14")
        .Cells(Rows.Count, 2).End(xlUp).Offset(1, 0) = Sheets("Factuur").Range("B13")    [COLOR="#008000"]'Factuurnummer[/COLOR]
        .Cells(Rows.Count, 3).End(xlUp).Offset(1, 0) = Sheets("Factuur").Range("B11")    [COLOR="#008000"]'Klantnummer[/COLOR]
        .Cells(Rows.Count, 4).End(xlUp).Offset(1, 0) = Sheets("Factuur").Range("E20")    [COLOR="#008000"]'BTW hoog laag[/COLOR]
        .Cells(Rows.Count, 7).End(xlUp).Offset(1, 0) = Sheets("Factuur").Range("F46")    [COLOR="#008000"]'Totaal incl BTW[/COLOR]
        .Cells(Rows.Count, 15).End(xlUp).Offset(1, 0) = Sheets("Factuur").Range("B1")    [COLOR="#008000"]'Organisatie[/COLOR]
        .Cells(Rows.Count, 16).End(xlUp).Offset(1, 0) = Sheets("Factuur").Range("H13")   [COLOR="#008000"]'Volgnummer[/COLOR]
    End With
End Sub
 
Laatst bewerkt:
Dan kan je het voorbeeld in #3 zo gebruiken.
Dan ook nog iets korter:
Code:
Sub Facturenoverzicht()
    With Sheets("Facturenoverzicht")
        .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Range("B14")
        .Cells(Rows.Count, 2).End(xlUp).Offset(1, 0) = Range("B13")    [COLOR="#008000"]'Factuurnummer[/COLOR]
        .Cells(Rows.Count, 3).End(xlUp).Offset(1, 0) = Range("B11")    [COLOR="#008000"]'Klantnummer[/COLOR]
        .Cells(Rows.Count, 4).End(xlUp).Offset(1, 0) = Range("E20")    [COLOR="#008000"]'BTW hoog laag[/COLOR]
        .Cells(Rows.Count, 7).End(xlUp).Offset(1, 0) = Range("F46")    [COLOR="#008000"]'Totaal incl BTW[/COLOR]
        .Cells(Rows.Count, 15).End(xlUp).Offset(1, 0) = Range("B1")    [COLOR="#008000"]'Organisatie[/COLOR]
        .Cells(Rows.Count, 16).End(xlUp).Offset(1, 0) = Range("H13")   [COLOR="#008000"]'Volgnummer[/COLOR]
    End With
End Sub
 
Laatst bewerkt:
Hallo Edmoor,
Prima gedaan, was al een tijdje aan het knoeien met voorbeelden van het internet maar dat lukte steeds maar niet, probeer het te leren maar sons heb je even een zetje nodig.
Moest nog wel even dezelfde rij aanpassen maar dat was goed te berijpen.
Het ziet er nu zo makkelijk uit maar toch.

Mijn grote dank
 
Laatst bewerkt:
Hallo Edmoor,
Ter aanvulling de tweede code die werkt bij mij niet zoals je zou willen.
Waarom weet ik niet maar hij geeft de verkeerde antwoorden, dus ik blijf de eerste gebruiken die doet het prima.

Nogmaals hartelijk dank
 
Vreemd, maar ok.
Je hebt wat je wilde :)
 
Als je facturen hebt waarde beide BTW percentages worden toegepast gaat het fout.
 
#AD1957
Daar heb je gelijk in, zo leer ik er steeds wat bij.
Ik ga proberen dat aan te passen!

Bedankt voor het opmerken
Groetjes
Johan
 
Hier een voorbeeld.

Maak gebruik van de tabel op het blad Facturenoverzicht
Formules in kolom F heb ik aangepast met AFRONDEN(), voor berekeningen netto, bruto en btw kun je dit beter doen
anders krijg je verschillen.
Succes.
 

Bijlagen

#AD1957
Bedankt voor de aanpassingen, ik ben er erg blij mee.
Ik ga dit allemaal toepassen ook de bewerkingen van #Edmoor.
Was al een keer begonnen met dat vba en ze zeggen niet zo moeilijk maar ik vind het nog een hele opgave om het allemaal onder de knie te krijgen en te begrijpen.
Maar we knutselen langzaam aan verder met de hulp van de meer professionals!

Groetjes en bedank,
Johan
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan