• 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 werkend krijgen als sheet nog niet bestaat?

Status
Niet open voor verdere reacties.

MennoL

Gebruiker
Lid geworden
11 mrt 2015
Berichten
18
Hoi Excel toppers,

Ik heb een verzamelbestand en daarin worden iedere week z'n 22 sheets toegevoegd. Nu zit er een verzamelblad in en die moet een "JA" geven als het tabblad bestaat en een "NEE" geven als het tabblad (nog) niet bestaat in dat werkboek. Zodra ik een formule maak (bijvoorbeeld: "=ALS('547 Winkel 2'!$B$1="Heads Up";"JA";"NEE")) en dit tabblad bestaat niet, dan krijg ik een foutmelding. Als ik het tabblad toevoeg dan is er nog steeds een foutmelding, tot dat ik de formule opnieuw open en op enter druk.

Is er een makkelijke oplossing waarbij is dus wel een werkend overzicht krijg?

Alvast bedankt!
 
Wellicht dat je het moet zoeken in VBA ipv formules.

Misschien zo?
 

Bijlagen

  • vb_spaarie.xlsm
    27,1 KB · Weergaven: 41
Hoi Spaarie,

Hij werkt dank daar voor, maar zodra ik hem meerdere keren uitvoer komt alles op "JA" te staan en hij past het daarna ook niet meer aan. Dus na 2x klikken werkt hij niet meer. Doe ik iets fout?
 
Of met behulp van een functie die je in een module zet
Code:
Public Function BestaandBlad(WorksheetName As String, Zoekwoord As String)
Application.Volatile

On Error Resume Next
 Blad = (Sheets(WorksheetName).Name <> "")
  If Blad Then
   BestaandBlad = IIf(Sheets(WorksheetName).Range("B1") = Zoekwoord, "Ja", "Nee")
    Else
   BestaandBlad = "Werkblad bestaat niet"
  End If
On Error GoTo 0

End Function

in het werk blad zet je dan...... mits de naam in een cel staat zoals in onderstaand voorbeeld in "A4".
Code:
=BestaandBlad(A4;"Heads up")
of je zet de naam direct in de formule tussen " "
Code:
=BestaandBlad("547 Winkel 2";"Heads up")
 
Gebruik hiervoor de functie INDIRECT() dan heb je geen code nodig.
 
Dat laatste lijkt mij handig, maar krijg het niet voor elkaar. Zelfs via de handleiding van office zelf krijg ik het niet voor elkaar. Heb je misschien een voorbeeld?
 
kijk eens naar combinatie van indirect en adres.

Code:
=INDIRECT(ADRES(4;4;1;1;"blad4"))

Deze formule haalt uit rij 4, kolom 4 (dus d4) op blad4 de waarde op. Als blad4 niet bestaat geeft dit een foutmelding.


Met de functie's als en isfout kun je dan deze weer opvangen
 
Dank je Hans123 met =ALS.FOUT(INDIRECT(ADRES(1;1;1;1;"blad2"));"NEE") lijkt het te werken. Als ik nu van Blad 2, Blad 4 maak die nog niet bestaat, dan krijg ik NEE als resultaat terug. Nu moet ik alleen wel zorgen dat er overal in iedere sheet JA in A1 komt, maar dan is het opgelost.

Snap alleen nog niet wat de 3de en de 4de "1" inhoudt in de formule (1;1;1;1;"Blad2"). Die 3de 1 kan ik aanpassen tot de 4, hoger geeft het een foutmelding, maar aan de formule veranderd niets. Niet dat het aangepast hoeft te worden, maar meer uit nieuwsgierigheid ben ik wel benieuwd wat het doet.

Iedereen bedankt voor het reageren :thumb:
 
Dat lijkt mij een bijzondere uitdaging om in een sheet die niet bestaat iets in te vullen.
 
Dat lijkt mij een bijzondere uitdaging om in een sheet die niet bestaat iets in te vullen.

De bedoeling is dat de formule gegevens leest uit een sheet. Als deze nog niet is toegevoegd geeft het op wat ik tussen "" heb gezet. Als de sheet wordt toegevoegd leest hij de gegevens uit die in de opgegeven cellen staan. Het werkt perfect!
 
Als je bij de help kijkt bij de functie adres zie je het volgende:

De syntaxis van de functie ADRES heeft de volgende argumenten (argument: een waarde waarmee u informatie toevoegt aan een actie, gebeurtenis, methode, eigenschap, functie of procedure.):

rij_getal Vereist. Een numerieke waarde die het rijnummer voor de celverwijzing aangeeft.
kolom_getal Vereist. Een numerieke waarde die het kolomnummer voor de celverwijzing aangeeft.
abs_getal Optioneel. Een numerieke waarde die het type verwijzing aangeeft dat als resultaat moet worden gegeven.abs_getal Geeft het volgende type verwijzing als resultaat
1 of leeg Absolute verwijzing (absolute celverwijzing: in een formule is dit het exacte adres van een cel, ongeacht de positie van de cel die de formule bevat. Een absolute celverwijzing gebruikt de verwijzingsstijl $A$1.)
2 Rij absoluut, kolom relatief
3 Rij relatief, kolom absoluut
4 Relatieve verwijzing

A1 Optioneel. Een logische waarde die aangeeft of het verwijzingstype A1 of R1K1 moet worden gebruikt. Bij type A1 worden kolommen alfabetisch gelabeld en worden rijen numeriek gelabeld. Bij type R1K1 worden zowel kolommen als rijen numeriek gelabeld. Als A1 WAAR is of is weggelaten, geeft ADRES een A1-verwijzing. Als A1 ONWAAR is, geeft ADRES een R1K1-verwijzing.

Klopt dus dat dit in deze formule geen verschil maakt.


Als je de volgende formule gebruikt maakt het helemaal niet meer uit wat er in A1 staat:

=ALS(ISFOUT(INDIRECT(ADRES(1;1;1;1;"blad2")));"NEE";"JA")
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan