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

VBA code hulp nodig

Status
Niet open voor verdere reacties.

JWExcel

Gebruiker
Lid geworden
20 mrt 2015
Berichten
44
Beste VBA-Wizards,

Ik heb net een deel van de code geschreven van onderstaand probleem, echter kan ik hem niet vinden in het bestand. Hij staat in een paint bestand in de bijlagen.

Probleem:
Wat ik probeer is om op datablad D cel S3 het getal te krijgen van het aantal zieken van adecco.
Hiervoor ga ik naar datablad "A", hier staan per dag aantal z voor 2 zieke uren.
Ik wil nu doormiddel van VBA code dat van bereik G8 tm G100 kijkt waar Adecco staat en dan van die regels in kolom AD tm AG het aantal Ztjes telt.
Dit totaal aantal z'tjes wil ik dan door 4 delen.

In cel S4 wil ik aantal Z van adecco mensen van kolommen AH tm AK. Enz.


Als nog onduidelijk is: Gele cellen worksheet "D" zijn de plekken waar het antwoord moet komen.
Voor cel S3 zou dit 1,5 moeten worden. S4 1, S5 2 en voor S6 3. (vergeet niet aantal z'tjes delen door 4)


Deel van de code heb ik geschreven met uitleg wat ik bij elke stap doe. Ik hoop dat jullie me met dat middelste stukje kunnen helpen !

Als de bedoeling nog onduidelijk is dan kan je altijd een bericht plaatsen en probeer ik het te verduidelijken.

Mvg,

JWexcel
 

Bijlagen

het is voor mij duidelijk, ik denk dit te kunnen oplossen met een verborgen kolom, op voorwaarde dat de datums in tab D ook voor komen in tab A
 
Hey JeanPaul

Een extra kolom in Tab D is geen probleem.

Ik heb nog zitten proberen met VBA en ken je VBA en weet je wat er mis is?
Heb mijn best gedaan zelf opgelost te krijgen maar lukt nog niet.

Sub UitzendkrachtenZiek2()
Dim Beer As Integer
Dim Cola As Integer
Dim Dirk As Integer
Dim x As Integer


For Beer = 0 To 350
For Cola = 8 To 100
For Dirk = 0 To 4
If Worksheets("A").Cells(9, Cola) = Adecco Then
'count z in Worksheets("A").Cells(30 + 4 * Beer, Cola) tot en met
'Worksheets("A").Cells(34 + 4 * Beer, Cola)

If Worksheets("A").Cells(30 + Dirk + 3 * Beer, Cola) = Z Then x = x + 1
Next Dirk
End If

Else:
Next Dirk
End If

Else: Next Cola

Worksheets("D").Cells(9, 3 + Beer) = x / 4

Reset x

Next Beer


End Sub

Groet,
 
VBA is volgens mij niet nodig... De code zit ook niet in het voorbeeld, aangezien het opgeslagen is als *.xlsx bestand.

Even voor mijn begripsvorming: Ik tel bij Adecco personeel in kolom AD:AG voor 5 januari 10 maal een "z". 10/4 = 2,5. Hoe rijm ik dit met je opmerking dat in S3 het getal 1,5 moet komen te staan?
 
JP, je bent me voor. Ik zat op hetzelfde spoor te denken.
En zie dat ook jij op 2,5 uitkomt...

Opgelost denk ik.
 
Ahaa, nu weet ik ook waarom mijn vba code er niet bij zit....
Had het bestand opgeslagen als xlsx en als xlsm en heb verkeerde toegevoegd. In deze versie is inderdaad 10x dus 2,5
 
Alexcel volgende keer mag jij de oplossing geven, dan zal ik een tijdje wachten,maar eerst nog afwachten of JWexcel tevreden is
 
JeanPaul, dit is perfect !!!! Heel erg bedankt. Super, ik laat post nog even openstaan om te kijken of iemand mijn vba code kan verbeteren. Maar hij is opgelost ! Veel Dank
 
@JP: haha. We zien wel.

SOMPRODUCT had ik al bedacht, maar was nog even aan het nadenken over het "dynamisch" maken van het datumbereik. Wilde iets doen met INDIRECT en ADRES of zo, maar VERSCHUIVING is bij nader inzien veel gemakkelijker. Wist ik eigenlijk ook wel, maar was even weggezakt. Dus heb er zelf ook weer wat van opgestoken. En daarvoor ben ik hier ook...

Tot de volgende keer.
 
Laatst bewerkt:
Door het overvloedig gebruik van samengevoegde cellen verhinder je een VBA-oplossing.
Door het plaatsen van verschillende soorten gegevens in 1 werkblad overigens ook.
 
Laatst bewerkt:
JP of iemand anders nog een vraag, de code in JP's bestand werkt. Echter werkt hij niet in mijn bestand?
Ik kan niet vinden wat er anders is aan de bestanden wat invloed heeft op de formule. In cel S3 heb ik JP's code ingevuld.

Wat moet ik veranderen zodat die code ook werkt in dit bestand?
 

Bijlagen

In het voorbeeld van JP staat in rij 2 de datum overgenomen (met witte tekstkleur, zodat het verborgen is). In jouw bestand staat deze rij niet, en dus kan de functie VERGELIJKEN de datum uit kolom B nergens mee vergelijken.

Oplossing: zet in tabblad A, in cel AD2:
Code:
=AD4
Trek deze door tot AOC2 en maak de tekstkleur weer wit.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan