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

Totalen ophalen afhankelijk van nummer en maand

Status
Niet open voor verdere reacties.

marc651

Gebruiker
Lid geworden
2 dec 2012
Berichten
175
Hallo,

In bijgevoegd document zou ik graag een overzichts-Sheet maken van alle data die verschijnt op het ORT-Sheet.
Als het personeelsnummer in Sheet 'ORT' klopt met dat in de lijst van Sheet 'Data en de maand is januari, dan moeten de totalen van cellen E82, H82, I82 en J82 in Sheet 'Data' komen onder januari.
Als het personeelsnummer in Sheet 'ORT' klopt met dat in de lijst van Sheet 'Data en de maand is februari, dan moeten de totalen van cellen E82, H82, I82 en J82 in Sheet 'Data' komen onder februari, enz.
Dit alles als op de knop 'Data' gedrukt wordt in Sheet 'ORT'.



Bekijk bijlage Speelding.xlsm
 
Of al die samengevoegde cellen nu zo'n goed idee is.

Code:
Sub VenA()
  Sheets("Data").Cells(Rows.Count, Application.Match(Sheets("ORT").Range("I5").Text, Sheets("Data").Rows(3), 0)).End(xlUp).Offset(1).Resize(, 4) = Sheets("ORT").Range("G82:J82").Value
End Sub

'Sheets("ORT").' mag je eventueel weglaten als je het vanuit een knop doet.
 
Bijna,
Wat ik nu krijg is dat hij de gegevens gewoon boven aan in de lijst zet in Sheet "Data".
Als ik per abuis twee keer op de knop druk, dan zet hij bij de volgende naam dezelfde gegevens.
De bedoeling is dat hij het alleen zet bij het matchende personeelsnummer(en de maand).
 
Dan zet je er toch een tweede application.match in?

Zonder foutcontrole
Code:
Sub VenA()
  With Sheets("Data")
    .Cells(Application.Match(Sheets("ORT").Range("M5").Value, .Columns(2), 0), Application.Match(Sheets("ORT").Range("I5").Text, .Rows(3), 0)).Resize(, 4) = Sheets("ORT").Range("G82:J82").Value
  End With
End Sub
Met foutcontrole
Code:
Sub VenA1()
  With Sheets("Data")
    R = Application.Match(Sheets("ORT").Range("M5").Value, .Columns(2), 0)
    c = Application.Match(Sheets("ORT").Range("I5").Text, .Rows(3), 0)
    If IsNumeric(R) And IsNumeric(c) Then .Cells(R, c).Resize(, 4) = Sheets("ORT").Range("G82:J82").Value
  End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan