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

Probleem formule

Status
Niet open voor verdere reacties.

Scallebe

Gebruiker
Lid geworden
29 okt 2014
Berichten
528
Beste specialisten,

Ik heb volgend probleem :

In mijn sheet heb ik de volgende kolommen :

A: tarief - C: Prestaties januari D: Uitbetaald januari - E: Prestaties februari F: Uitbetaald februari enz... voor elke maand 2 kolommen

Om een resultaat te bekomen in "Uitbetaald" vermenigvuldig ik "Prestaties" met "Tarief" - Tot hier toe geen problem.

VB : Tarief = €50 - Prestaties januari = 100:00 - Uitbetaald januari = €5000


Het probleem komt er wanneer op bv op 01 juli van het lopende jaar het tarief veranderd, in de kolom B zet ik dan het nieuwe tarief.

Niet alle personen krijgen een tariefaanpassing dus de waarde in Kolom B kan ook €0 zijn en dan blijft het tarief van A van toepassing of ik herneem hetzelfde tarief uit kolom A zodanig dat de berekeningen juist zijn.

Ik pas momenteel de bestaande formules aan in de desbetreffende maanden : van januari tem juni tarief uit kolom A en van Juli tem December tarief uit kolom B.

(Mijn kolommen A en B krijgen ook een datum in de hoofding : A = 01/01/2015 en B = 01/07/20)

Dus wanneer ik de nieuwe tarieven krijg voor het personeel moet ik voor iedereen afzonderlijk de formule al dan niet aanpassen.

Ik wil nu de formule zodanig aanmaken dat hij automatisch het juiste tarief toepast zonder voortdurend mijn bestaande formules te moeten wijzigen.

Dus in mijn voorbeeld moet vanaf 01 juli het tarief uit Kolom B gebruikt worden. en moeten voor de maanden januari tem juni het tarief uit kolom A blijven hanteren.

Momenteel heb ik al diverse formules geprobeert, gebruik makend van "MEDIAN" functie, "IF" functie maar het probleem blijft telkens dat voor iedere maand het nieuwe tarief uit Kolom B wordt gebruikt dus ook voor de maanden januari tem juni. Uiteraard moet het tarief van kolom A voor de maanden januari tem juni van toepassing blijven.


Heleeeeep

Alvast bedankt voor de eventuele oplossing

Groetjes

Pascal
 
Waarom niet een lijstje maken met de tarieven + ingangsdatum, en met Verticaal Zoeken het juiste tarief ophalen?
 
Michel,

Bedankt voor de snelle reactive,

De ingangsdatum van het nieuwe tarief is voor alle personeelsleden dezelfde en ik plaats die datum dus ook bovenaan mijn kolom B met de nieuwe tarieven. dus dat lijstje met de nieuwe tarieven heb ik ook, namelijk in kolom B.

Hoe formuleer ik "vertikaal zoeken" dan in mijn formule ?

Greetz
 
scallebe,

zoiets als dit?
 

Bijlagen

Haije,

Fantastisch... Simpel en logisch.:confused:

Hartelijk bedankt :thumb:

Pascal
 
Doe er je voordeel mee!
 
Laatst bewerkt:
Haije,

nog een vraagje :

Ik heb volgende code in een macro staan om een nieuwe lijn in te voegen boven mijn laatste (altijd lege) lijn met behoud van formules


Sub InsertRowFormulas()
Application.ScreenUpdating = False
Dim cell As Range
Selection.EntireRow.Insert
For Each cell In Intersect(ActiveSheet.UsedRange, Selection.Offset(-1, 0).EntireRow)
If cell.HasFormula Then
cell.Copy cell.Offset(1, 0)
End If
Next
Application.ScreenUpdating = True
End Sub


Die werkt perfect maar ik moet wel altijd eerst naar de cel gaan van de laatste rij (die altijd leeg is) in kolom A en dan de macro uitvoeren (gebeurd met een knop)

Welke code moet ik bijvoegen zodat hij eerst naar die bepaalde cel gaat alvorens de macro uit te voeren?
Ik kan in die cel (=a? - varieert - want ik heb diverse sheets met dezelfde layout met een verschillend aantal rijen maar de laatste rij is altijd leeg) van de laatste lege rij een tekst zetten (bv "start" zodat die cel makkelijk te vinden is voor excel en onzichtbaar maken met de zelfde textkleur als de celkleur - om verwarring bij de gebruikers te vermijden)

Ik heb al geprobeert met een macro-opname om die cel met "start" te zoeken en die code dan bij mijn bovenstaande code bij te voegen maar telkens ik de macro opnieuw uitvoer doet excel dat in de zelfde rij waar de macro is opgenomen en het moet boven de laatste (lege) rij gebeuren.

Ik heb ook op het web gezien dat er macro codes zijn waar een venster verschijnt waar ik eerst het aantal lijnen kan ingeven.

Ik zou een voorbeeld willen meesturen maar ik kan geen bijlage meesturen.

Alvast bedankt
 
Pascal

Code:
Range("A1").End(xlDown).Select
zorgt er voor dat vanuit A1 de laatste gevulde regel in kolom A geselecteerd wordt
In jouw code zou ik
Code:
Selection.EntireRow.Insert
vervangen door
Code:
Range("A1").End(xlDown).EntireRow.Insert
 
Haije

Met deze code : Range("A1").End(xlDown).EntireRow.Insert voegt excel een rij in tussen de cel A3 en A1 met de zelfde format als rij 1 terwijl er in cel A7 een tekst staat en dus volgens mij de laatst gevulde regel is en de rij zou moeten ingevoegd worden boven de cel A7 (in dit voorbeeld dus toch want rij 7 is niet altijd de laatste rij)

Greetz
 
Haije,

Het is opgelost :thumb:

met de volgende code :

Sub Nieuw()
'
' Nieuw Macro
'
Cells.Find(What:="Start voor nieuwe rij", After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Activate
Application.ScreenUpdating = False
Dim cell As Range
Selection.EntireRow.Insert
For Each cell In Intersect(ActiveSheet.UsedRange, Selection.Offset(-1, 0).EntireRow)
If cell.HasFormula Then
cell.Copy cell.Offset(1, 0)
End If
Next
Application.ScreenUpdating = True

End Sub

de eerste drie lijnen bijgevoegd en het werkt.

greetz

Pascal
 
Pascal,

in mijn bijdrage was ik er vanuit gegaan dat er geen lege cwellen zouden voorkomen tussen A1 en de gewenste cel.
Maar als die veronderstelling niet correct is, zou je A1 kunnen vervangen door (bv) A4, als die cel wel altijd een correct startpunt zou zijn.
De voorgestelde oplossing zou dan zijn:
Code:
Range("A4").End(xlDown).EntireRow.Insert
 
Haije,

Met onderstaande code krijg ik enkele inputboxen om bepaalde gegevens in te voeren. Met onderstaande code komen dan ook de ingevoerde gegevens in de desbetreffende cellen. Hoe kan ik er voor zorgen dat de gegevens geplaatst worden in de rij die ik geselecteerd heb en niet telkens in de rij 4 zoals het voorbeeld.


Sub Nieuw()

[A4] = InputBox("Naam")
[B4] = InputBox("Voornaam")
[C4] = InputBox("Status")
[D4] = InputBox("Specialisatie")
[E4] = InputBox("Eenheid")

End Sub

Bedankt

Pascal
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan