• 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 werkt alleen bij als ik in de formule balk sta.

Status
Niet open voor verdere reacties.

FGMdeGroot

Gebruiker
Lid geworden
16 jul 2012
Berichten
40
Goeie middag ik heb een probleempje met een formule
(vertzoekenallesheets())

deze werkt niet automatisch bij, ik moet eerst in de formule balk klikken met me muis om de formule bij te laten werken, dat is niet de bedoeling want dan kan ik een veel simpelere formule gebruiken.

Wie kan mij helpen?

bij voorbaat dank,
F. de Groot

Bekijk bijlage HM weekrooster.xlsm
 
Heb je in je Excelopties wel Werkmap berekenen op Automatisch staan ?

groeten Marcel
 
Dag Marcel

ik werk met excel 2010
Bestand->Opties->Formules->Berekeningsopties->werkmap berekenen = Automatisch

Als dat de goede is dan ja staat ie op automatisch.

Ik heb het bestand bijgevoegd.

met vriendelijke groet,
F. de Groot
 
Ik heb je bestand bekeken maar ik begrijp niet precies welke cel(len) er automatisch moeten veranderen.
De uitleg is iets te gecompliceerd.
Probeer eens simpel uit te leggen als je wat in de ene cel doet wat er dan in een andere automatisch moet gebeuren

Groeten Marcel
 
Laatst bewerkt:
In het kort cellen Y4 t/m Y10 en AB4 t/m AB10 van blad werknemer x moeten bijwerken.

een totaal andere formule is ook een optie maar ik ken die niet.
(Voor dit bestand) het orgineel is met meer tabbladen en werknemers
de tabbladen week00 t/m week04 worden de gegevens per week ingevoerd.
in tabblad werknemer x is het de bedoeling dat de informatie wordt gehaald uit de tabbladen week.

om zo een mooi maand/jaar overzicht te krijgen van wanneer deze werknemer heeft gewerkt hoeveel en wanneer hij ziek of vrij was.

ik hoop dat deze uitleg iets duidelijker is.
 
Wanneer ik bijv. in cel AG2 de datum verander naar 1-12-2012 dan veranderd cel Y4 en AB4 in 0.
Dus volgens mij werken die formules wel automatisch.
Ik heb Excel2007 trouwens.

Groeten Marcel
 
Het is niet de bedoeling om in werknemer x gegevens te wijzigen, enkel in de tabbladen week00,01,02,03,04

Werknemer X geeft alleen weer wat er in de tabbladen week00,01,02,03,04 staat.
 
OK, ik zie nu wat je bedoelt.
Bij mij gebeurd dat ook.

Het komt doordat de macro alleen bij het openen van het bestand wordt uitgevoerd, daarna niet meer.
Wanneer je het bestand namelijk opnieuw opent dan veranderd de cel met de bewuste formule wel.

Je moet dus zorgen dat de macro ook utgevoerd wordt nadat je een cel hebt gewijzigd of wanneer je een tabblad activeert.
Helaas weet ik te weinig van VBA om je verder te kunnen helpen.

Groeten Marcel
 
Voeg de rode regelcode eens in.
Code:
Function vertzoekenallesheets(Look_Value As Variant, Tble_Array As Range, Col_num As Integer, Optional Range_look As Boolean)
'
'functie als volgt gebruiken:
' =vertzoekenallesheets(zoekwaarde;zoekgebied;kolomnummer,0/1 of waar/onwaar)
' (celwaarden - zoekgebied -  moet van alle sheets gelijk zijn)
[COLOR=#ff0000]Application.Volatile
[/COLOR]Dim wSheet As Worksheet
Dim vFound
On Error Resume Next
    For Each wSheet In ActiveWorkbook.Worksheets
        With wSheet
        Set Tble_Array = .Range(Tble_Array.Address)
            vFound = WorksheetFunction.VLookup(Look_Value, Tble_Array, Col_num, Range_look)
        End With
        If Not IsEmpty(vFound) Then Exit For
    Next wSheet
    Set Tble_Array = Nothing
    vertzoekenallesheets = vFound
End Function
 
Geweldig dat is de oplossing dankjewel

maar kan je uitleggen wat de nieuwe regel inhoud en waarom het nu wel functioneert, dan leer ik het begrijpen, als het ingewikkeld is hoeft het niet.

bvd,
Frans
 
Met die toevoeging gaat excel opnieuw herberekenen bij wijzigingen.
Volgens mij werkt het ook zonder, maar dan moet je op de sneltoets F9 drukken.

Je kan ook "Volatile" selecteren in de code (maak het blauw), en druk F1 voor de HELP over bepaalde functies.
 
Laatst bewerkt:
F9 doet ie niets mee die had ik al geprobeert, nog bedankt voor je uitleg ook.
 
Dat de oplossing soms zo simpel is zeg. :)
1 regeltje toevoegen en het werkt. :)

Groeten Marcel
 
Mijn voorkeur: (application.volatile blijkt niet nodig)

Code:
Function vertzoekenallesheets_snb(Look_Value As Variant, Tble_Array As Range, Col_num As Integer, Optional Range_look As Boolean)
    vertzoekenallesheets_snb = False
    For Each sh In ThisWorkbook.Sheets
        If Not IsError(Application.VLookup(Look_Value, sh.Range(Tble_Array.Address), Col_num, Range_look)) Then
            vertzoekenallesheets_snb = True
            Exit For
        End If
    Next
End Function
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan