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

Bedragen samenvoegen met macro

Status
Niet open voor verdere reacties.

Marky76

Gebruiker
Lid geworden
26 okt 2002
Berichten
424
Hallo,
Met onderstaande macro die ik van Rocanio heb gekregen heb een klusje dat heel tijdrovend was sneller kunnen uitvoeren, alleen kunnen er in mijn bestandje lijnen worden toegevoegd of tussengevoegd. Hoe kunnen we ervoor zorgen dat de macro met het hele bereik rekening houd zonder dat in de macor 7 verander in bijvoorbeeld 20, maar dat hij sowieso tot 20 gaat. Onderaan zijn er totalen, dus totdaar mag hij gaan.


Code:
Private Sub Cmd_Add_Click()
Dim iRij, iKol As Integer
    For iRij = 5 To 7
        For iKol = 1 To 2
            Cells(iRij, iKol) = Cells(iRij, iKol) + Cells(iRij, iKol + 2)
            Cells(iRij, iKol + 2) = 0
        Next
    Next
    Range("C1").Value = "Boekjaar " & Year(Now)
End Sub

Groeten,
Mark
 

Bijlagen

Dan moet je de lus aanpassen.

Code:
Private Sub Cmd_Add_Click()

    Dim iRij, iKol As Integer
    
    iRij = 5
    
    Do
        For iKol = 1 To 2
            Cells(iRij, iKol).Value = Cells(iRij, iKol).Value + Cells(iRij, iKol + 2).Value
            Cells(iRij, iKol + 2).Value = 0
        Next
        
        iRij = iRij + 1
        
    Loop Until Cells(iRij + 1, 1).HasFormula = True
    
    Range("C1").Value = "Boekjaar " & Year(Now)
    
End Sub

Wigi
 
Wigi,

Er moest een kolom toegevoegd worden. Je weet dat in excel formules mee opschuiven.
Dus 1 to 2 zou in mijn worksheet dan 2 to 3 moeten worden.
Ik dacht dat ik over macro's gelezen had dat je dan niet anders kan dan de vba aan te passen. Is dit zo, of kan je ervoor zorgen dat wanneer er een kolom word toegevoegd 1 to 2automatisch 2 to 3 word?

Code:
Private Sub Cmd_Add_Click()

    Dim iRij, iKol As Integer
    
    iRij = 5
    
    Do
[COLOR="SeaGreen"]        For iKol = 1 To 2[/COLOR]
            Cells(iRij, iKol).Value = Cells(iRij, iKol).Value + Cells(iRij, iKol + 2).Value
            Cells(iRij, iKol + 2).Value = 0
        Next
        
        iRij = iRij + 1
        
    Loop Until Cells(iRij + 1, 1).HasFormula = True
    
    Range("C1").Value = "Boekjaar " & Year(Now)
    
End Sub

Groeten,
Mark
 
Je kan cel A1 en cel B1 een naam meegeven, en dan in de code uitvragen wat de kolom is van die 2 cellen. Bij het invoegen van kolommen schuiven benoemde bereiken mee op.

Merk op dat dit óók kan misgaan natuurlijk. bvb. als dat bereik verwijderd wordt zal het niet meer gaan. Er is geen 1 sluitende manier.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan