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

=MAX(hoe bereik met VBA selecteren)

Status
Niet open voor verdere reacties.

rzeeuw

Gebruiker
Lid geworden
20 jun 2005
Berichten
24
Ik heb een tabel met in Rij1 Kolomkopjes waaronder verschillende rijen waarden met daartussen om de zoveel rijen gemiddelden en onderaan een totaalgemiddelde.
De lengte is voor elke kolom gelijk, maar kan varieren naar gelang de inputdata. Ik wil nu via een macro die in de laatste cel van de tabel, een =MAX(......) functie plaatsen. In deze cel is door de Subtotal functie al een totaalgemiddelde geplaats. Deze wil ik echter vervangen dus voor een =MAX(......)
Tussen de haakjes moet dan de gehele rij boven deze cel komen tot bovenaan de kolom (met uitzondering van rij1 want daar staan immers de kolomkoppen in).

Het is gelukt om de =MAX(.....) in de laatste cel onder de tabel te krijgen, met de volgende functie:

Range("I1").Select
Selection.End(xlDown).Select
ActiveCell.Font.Bold = True
ActiveCell.FormulaR1C1 = "=MAX(.........)"

Echter weet ik niet hoe ik het bereik op de goede wijze automatisch kan laten selecteren.
Onder deze cel wil ik btw een =MIN(....) functie met hetzelfde bereik plaatsen. De =MIN(....) functie plaatsen lukt wel als volgt:

Columns("I").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
ActiveCell.Font.Bold = True
ActiveCell.FormulaR1C1 = "=MIN(.......)"

Maar uiteraard hetzelfde probleem. Hoe krijg ik het juiste bereik geselecteerd.

Wie kan mij helpen.
 
Ik dacht zelf ineens een oplossing te hebben door de rij te selecteren waar automatisch al de totaalgemiddelden zijn geplaatst door de Subtotal functie. De totaalgemiddelden hebben de functie:

vb: =SUBTOTAAL(1;D2:D312)

En dan te kiezen voor zoek '=SUBTOTAAL(1' in die rij en vervang voor '=SUBTOTAAL(4'

Die laatste is namelijk de functie voor MAX.

Echter deze functie werkt perfect wanneer ik hem handmatig toepas met Ctrl+h (vervangen). Wanneer ik deze opneem en hij ook weer perfect werkt, werkt hij helaas toch niet wanneer hij als macro wordt afgespeeld: hij vervangt gewoon niets dan.

Wat doe ik verkeerd?
 
Niemand een idee?

Zou het kunnen door het bereik eerst te benoemen en daarna in de =MAX(....) functie dit bereik op te halen. Zo ja, hoe werkt deze functie precies? Ik wordt er met behulp van de help niet wijzer uit.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan