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

controle/valideren bestand via hyperlink excel

Status
Niet open voor verdere reacties.

OneLegGuru

Gebruiker
Lid geworden
14 jun 2022
Berichten
5
Hoi,
helaas pindakaas, ik heb geen kaas gegeten van vba.

In tabblad stock, kolom AB genereer ik een pad dat gebruikt wordt in hyperlink in kolom C,
naargelang waar ik dit bestand gebruik veranderd dit pad.
Die keuze maak ik in tabblad data door een getal in te voeren in cel B3.
Als ik op de hyperlink klik laat deze bijhorende foto/bestand te tonen.

Nu mijn vraag:
Is het mogelijk om met een gewone formule (liefst) of via vba de aanwezigheid te controleren van het bestand waar verwezen wordt in mijn Pad in kolom AB van tabblad stock.

Als het bestand aanwezig naar waar er verwezen wordt, dan mag er in tabblad stock, kolom AC een 1 =aanwezig of een 0= niet aanwezig ingevuld worden.

Die 1 0f 0 ga ik gebruiken in een voorwaardelijke opmaak, dan weet ik of er data aanwezig is of niet en of ik nog eventueel data moet toevoegen.

Zoals je kan zien is dit in mijn ogen een groot bestand, ik kan niet inschatten hoelang het duurt om deze opdracht te berekenen/uitvoeren.
Dus is het mss best om deze opdracht eenmalig manueel te triggeren?

Als het pad/hyperlink eindigt op 0E.jpg, 0C.jpg, 0R.jpg (komt van tabblad stock, kolom B) mag er sowieso al 0 komen in kolom AC.
Dit zal mss de opdracht sneller maken.

Ik heb gezocht en ik weet dat het kan, maar als dit alleen mogelijk is via VBA krijg ik het niet geïntegreerd in mijn bestand.


Bedankt voor de moeite en tijd.
 

Bijlagen

Laatst bewerkt:
Plaats deze functie in een module
Code:
Public Function BestandBestaat(filenaam) As Integer
     If Dir(filenaam) <> "" Then BestandBestaat = 1
End Function

en deze formule in AC2
Code:
=BestandBestaat(AB2)

en dan doortrekken naar beneden (=dubbelklik op rechtsonderpuntje van de cel)
 
Hoi,
dit is een plezante manier om wakker te worden.

Ik heb je oplossing getest in mijn bestand thuis en het werkt.
Dees is echt zot, alvast bedankt voor je tijd.

Alleen merkte dat het sorteren met filters langzaam is geworden nu.
Voorlopig heb ik dit opgelost door in Kolom AC dit te plakken "=ALS(AA2=1;BestandBestaat(AB2)"

Op termijn gaat dit zich terug manifesteren naarmate er meer velden ingevuld geraken en het bestand groeit.

Ik weet niet of het mogelijk is om een soort als functie te maken zonder een kringverwijzing te creeeren.

AA2 AB2 ==> valideren of niet
-0---0/"" ==> overslaan
-1---1----==> overslaan
-1---0----==> valideren

Op die manier denk ik dat je minder tijd gaat verspelen met valideren naar de link
 
Ik neem aan dat je Z2 en AA2 bedoelt in plaats van AA2 en AB2.
Dan zou je deze functie kunnen gebruiken:


Code:
Public Function BestandBestaat(Z, AA, filenaam) As Integer
    If Z = 1 And AA = 0 Then
        If Dir(filenaam) <> "" Then BestandBestaat = 1
    End If
End Function
en in AC2 deze formule:

Code:
=BestandBestaat(Z2;AA2;AB2)
 
Hoi,

Z slaagt terug op het aantal plaatsen bezet.
Bv je hebt een sorteerbak met 5 tussenschotten zonder deze tussenschotten worden deze plaatsen ook gereseveerd/uitgeboekt en zitten gelinkt aan 1 item waar er anders 5 aan gelinkt zitten.

Nee met de matrix bedoelde ik als er een validatie gebeurt is mag hij die overslaan.

voorwaarde 1 AA2 op 1 (item ingeboekt), voorwaarde 2 AC2 ook 1 (validatie is uitgevoerd) mag hij de volgende keer jumpen
voorwaarde 1 AA2 op nul(nog niets ingeboekt) mag de validatie er ook over jumpen

voorwaarde 1 AA2 op 1 (item ingeboekt) voorwaarde 2 AC2 op 0 moet de validatie gebeuren

Ik weet niet of het mogelijk is vermits je dan mogelijk een kringverwijying creeerd
 
AA2 is een "bit" dat er iets ingeboekt is 1 is ja, 0 is nee...
Als er iets ingeboekt is en er is geen validatie gebeurt moet dit gebeuren.
Als er iets ingeboekt is en er is een validatie gebeurt met geldige link (staat er al een 1) mag deze overgeslagen worden

Ik zit veel met 1 en nullen te werken :o
 
Deze functie dan:
Code:
Public Function BestandBestaat(filenaam) As Integer
    If InStr(1, "0C.jpg 0E.jpg 0R.jpg", Right(filenaam, 6), 1) = 0 Then
        If Dir(filenaam) <> "" Then BestandBestaat = 1
    End If
End Function
 
Hoi,
voorlopig ziet di er goed uit denk ik,
Bedankt

Voor zover ik begrijp:
als Ac2 1 is word de link niet gecontroleerd e vervangt hij deze daar een 1, of pad bevat 0C (plaatsbezet/combined, of pad bevat 0E (empty/ niets ingegeven), of 0R (plaats gereserveerd) gaat hij dus link niet controleren=ok en een 0 plaatsen
en de rest kan ik niet goed volgen

Maar het komt er op neer dat de andere links op 1 of andere manier wel gecontroleerd worden wss.
TOP
Voor mij mag er een slotje op met opgelost.
Of moet ik dat zelf doen? if so, hoe?

Een beetje offtopic, ik wou gisteren reageren via mijn Ipad, maar dit ging niet.
Kreeg steeds de melding dat ik geen bevoegdheid had om te reageren ondanks ik ingelogd was :/
Daarmee dat ik zolaat reageer

Nogmaals bedankt
Bedankt
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan