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

formule in variabel bereik

Status
Niet open voor verdere reacties.

Rusty1979

Gebruiker
Lid geworden
8 jul 2009
Berichten
72
Hallo,

Ik wil graag een formule in meerdere variabele bereiken zetten.
Ik zal dit proberen duidelijk te maken aan de hand van onderstaand voorbeeld:
voorbeeld.jpg

http://www.gratizmobiel.nl/voorbeeld.xls

De macro vult de somformule in H2 t/m H4 in. Dit is echter een variabel bereik. Je kunt namelijk ook product D, E, F enz. hebben.
Hierna moet hij ook een somformule zetten achter product X t/m Z.
Ook dit is een variabel bereik zonder vaste begin- of eindcel.
Het gaat niet om dit voorbeeld, wat ook anders opgelost zou kunnen worden, maar mijn doel van deze vraag is om er achter te komen hoe ik met behulp van een macro in meerdere variabele bereiken een formule kan plaatsen.

Code:
Sub VariabeleSom()
'Zet een somformule in kolom H tot je een 0 tegenkomt
Range("h2").Select
    Do
       ActiveCell.Offset(1, 0).Select
      Loop Until ActiveCell.Value = "0"
    Einde = ActiveCell.Row
     Range("h2:h" & Einde - 1).Select
    ActiveCell.FormulaR1C1 = _
        =SUM(RC[-6]:RC[-2])"
'Kopieer deze formule en plak deze als waarde
    Range("h2").Select
    Selection.Copy
    Range("h2:h" & Einde - 1).Select
    Selection.PasteSpecial Paste:=xlPasteFormulas
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues
End Sub
 
Rusty,

vermijd lussen (Do...Loop) en altijd die nutteloze Select's. Bvb.:

Code:
Sub VariabeleSom()
    'Zet een somformule in kolom H tot je een 0 tegenkomt
    Columns(1).SpecialCells(2, 2).Offset(, 7).Formula = "=SUM(RC[-6]:RC[-2])"
End Sub

Wigi
 
SpecialCells

Rusty,

vermijd lussen (Do...Loop) en altijd die nutteloze Select's. Bvb.:

Code:
Sub VariabeleSom()
    'Zet een somformule in kolom H tot je een 0 tegenkomt
    Columns(1).SpecialCells(2, 2).Offset(, 7).Formula = "=SUM(RC[-6]:RC[-2])"
End Sub

Wigi

Waar staat SpecialCells(2, 2) precies voor?
Ik heb de help functie van VBA bekeken, maar daar staat alleen wat over XlCellType.
 
Dat zijn constanten die staan voor:

SpecialCells(xlCellTypeConstants, xlTextValues)
 
Ik snap ondertussen dat die 2, 2 voor Type en Value staan.

Maar naar welke cellen kijkt hij precies om te bepalen wat het Type is en wat de Values zijn?
 
De cellen in kolom 1 (A dus), gegeven Columns(1). ...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan