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

Link probleem in excel

Status
Niet open voor verdere reacties.

igvfer

Gebruiker
Lid geworden
30 sep 2021
Berichten
14
Dag,
Ik heb een probleempje. Eerst en vooral de personen in het voorbeeldbestand zijn al heel lang dood dus de privacy wordt hier niet geschonden.
Wij hebben vrijwilligers die indexen maken zoals hierbij gevoegd (een klein stukje). Om de een of andere reden wordt er automatisch een link tekst gezet en die moet ik net niet hebben. Ik moet de link hebben zoals in de laatste kolom (link voluit) om te kunnen overbrengen naar de database op de server van onze site. Ik kan wel een voor een manueel de link eruit halen en kopiëren naar een aparte kolom zoals ik het op de eerste rij heb gedaan maar dat vraagt veel werk als je er honderden moet doen. Is er een mogelijkheid om dit automatisch te laten gebeuren? Een functie, formule of iets dergelijks. Ik heb al gezocht op het net maar ik vind niet echt iets.
Eeuwige dankbaarheid is uw deel.
 

Bijlagen

En hoe komt die tekst in kolom F terecht?
Als ik daar zelf de tekst Kerkelijke registers (familysearch.org) wordt dat geen hyperlink.
 
Manueel moet je rechtsklikken op een link in kolom F en in het lijstje dat verschijnt kan je bijna onderaan Link bewerken klikken. Dan krijg je een scherm waarin de link onderaan geselecteerd is. Via Ctr+C en Ctrl+V plak je die dan in een andere cel.
In eerste instantie is het inderdaad geen link maar als ja naar de 2e lijn gaat in kolom F dn zal dit wel in een link veranderen. Maar voor mij hoeft dit niet. Ik heb enkel de tekst van die link nodig, die komt zo in de database en via een zoek en weergave pagina in PHP op de site wordt de opzoeker naar die site geleid. Als je die link gewoon kopieert en in uw browser ingeeft dan werkt die wel.
AAAvoorbeelddite.xlsx.png
Die link zit dan onder de tekst Download.
In de code van de webpagina ziet dat er zo uit:
Code:
<td style="text-align:center"><a href="<?php echo $row["Link"]; ?>"target="_blank">Downloaden</a> </td>
De $row "Link" bevat de link van elk record. Maar dit moet effectief dan ook een link zijn die begint met https:// enzovoort.

Na het nogmaals lezen van uw vraag denk ik dat ik het verkeerde antwoord heb gegeven. Dus de vrijwilliger maakt de index en gaat de akte gaan opzoeken in familysearch. En kopieert dan de link in een cel. Maar door een of andere duistere reden, door family search of Excell zelf wordt die verborgen achter een link tekst. Excell heeft zo nog van die duister kantjes, zoals het niet herkennen van datums voor 01-01-1900. Of het automatisch omzetten naar hun datumformaat al is dat niet gewenst omdat je het in tekstformaat wil hebben. Enz. . Dit terzijde.
 
Laatst bewerkt:
Als je een link kopieert en ineen cel in Excel plakt is het logisch dat Excel er een hyperlink van maakt.

Excel werkt niet met datums voor 01-01-1900, daar is niks duisters aan.
Als je een datum als Tekst wilt weergeven en niet als een datum zet dan de cel eigenschap op Tekst.
Anders wordt het inderdaad een datum en die kan je op iedere gewenste wijze weergeven.
Het blijft echter een datum en dat is gewoon een getal (Longword)
Vandaag bijvoorbeeld, 15-12-2022 is 44910.
Dat is het aantal dagen sinds 01-01-1900, vandaar dat er eenvoudig mee gerekend kan worden.
Met tekst kan dat niet.
 
Code:
Sub M_snb()
   For Each it In Hyperlinks
     it.Range.Style = "normal"
   Next
End Sub
 
Inderdaad, maar het is niet logisch dat hij er een linktekst bovenop plakt en de eigenlijke link erachter verbergt. En in een database, maakt niet uit of dit een MariaDB of iets anders is heb ik de pure link nodig, niet de linktekst. Die maken we zelf op de webpagina. Via HTML, PHP of wat dan ook. Het komt erop neer dat dit bij het opstellen van van het werkblad zo is ingekomen. En daar ben ik niets mee. Ik moet een excel hebben die ik omzet naar een csv bestand en dan kan inlezen in mijn database. Maar bij het omzetten naar een csv gebruikt hij alleen de linktekst en niet de achterliggende link. Ik moet er op een of andere manier de achterliggende link in vol ornaat uit krijgen. Het kan manueel zoals ik heb uitgelegd maar ik zoek een manier om dit automatisch te doen.
 
Code:
Sub M_snb()
   For Each it In Hyperlinks
     it.Range.Style = "normal"
   Next
End Sub

Nu ga je mij nog wat moeten helpen. Waar zet ik dat? Sorry, ik ken ietsje van excell maar niets van VB of dergelijke. Ik kan zoals de meeste zeker een werkblad maken, wat formules in zetten, wat functies gebruiken maar daar blijft het bij. Ik heb al genoeg te leren van HTML, PHP, CSS, databases, javascript. Ik leer dingen in excell naarmate ik tegen problemen aanloop. Mijn excuses daarvoor.
 
Of gebruik de knop in dit document:
 

Bijlagen

Laatst bewerkt:
Is zoiets niet handiger in Access?

Frans
 

Bijlagen

  • 2022-12-15.png
    2022-12-15.png
    417,3 KB · Weergaven: 16
Of het nu Acces is, of MariaDB of Mysqli of iets anders dat maakt niet uit. Ik moet nu eenmaal vertrekken vanuit een excell en ik heb enkel de link nodig niet de linktekst. En door een of andere reden wordt die linktekst gegenereerd als ze de link kopieerden in een cel.De vraag is dus hoe krijg ik die linktekst weg zonder dat ik uren manueel werk moet doen. En ik weet het, microsoft heeft dictatoriale trekjes en wil de gebruiker in hun richting duwen. Ze laten je weinig keuze of steken het heel goed weg over hoe je het naar uw eigen hand kunt zetten.
 
De vraag is dus hoe krijg ik die linktekst weg zonder dat ik uren manueel werk moet doen
Zie #8

Achter die knop zit deze code:
Code:
Private Sub CommandButton1_Click()
    Dim hl As Hyperlink
    Dim sh As Worksheet

    Set sh = ThisWorkbook.Worksheets("Blad1")
    If sh.Hyperlinks.Count > 0 Then
        For Each hl In sh.Hyperlinks
            Range(hl.Range.Address).Value = hl.Address
        Next hl
    End If
    Columns("F").AutoFit
End Sub
 
Laatst bewerkt:
@Edm,

Volgens mij lukt het zo ook:

Code:
Private Sub CommandButton1_Click()
  for each it in sheets("Blad1").Hyperlinks
    it.range =it.Address
  Next

  Columns(6).AutoFit
End Sub

En de hypelinkopmaak verwijderen kan met de hand:
- heel werkblad selecteren
- tabblad home/ optie Cell styles, 'normaal' aanklikken.

PS. Bill zal het afgekeken hebben van veel religieuze organisaties.
 
Laatst bewerkt:
Volgens mij ook ;)
 
Zie #8

Achter die knop zit deze code:
Code:
Private Sub CommandButton1_Click()
    Dim hl As Hyperlink
    Dim sh As Worksheet

    Set sh = ThisWorkbook.Worksheets("Blad1")
    If sh.Hyperlinks.Count > 0 Then
        For Each hl In sh.Hyperlinks
            Range(hl.Range.Address).Value = hl.Address
        Next hl
    End If
    Columns("F").AutoFit
End Sub

Bedankt en nu nog proberen uit te vlooien hoe je een en ander doet om dit voor elkaar te krijgen. Hoe je zo'n knop maak en hoe je die code programmeert. Ik ken daar totaal niets van. Maar nooit te oud om te leren. Ook hoe je dit eventueel kan kopiëren naar toekomstige werkbladen.
Nog veel studeerwerk dus.
 
@Edm,


En de hypelinkopmaak verwijderen kan met de hand:
- heel werkblad selecteren
- tabblad home/ optie Cell styles, 'normaal' aanklikken.

Dit heb ik geprobeerd en dat lukt dus niet. Was het eerste dat ik trouwens geprobeerd had. Was het maar zo simpel geweest. De code lukt dus wel., maar allemaal bedankt om mee te denken.
 
en als je nu alle cellen in de kolom selecteert (niet de kolom zelf) , dan kan je toch alle hyperlinks uitschakelen?
 
Voor TS gaat het erom dat voor een export naar CSV, de originele link in de cel komt te staan in plaats van de "vriendelijke tekst."
 
Het geeft natuurlijk meer mogelijkheden:

Code:
Sub M_snb()
   For Each it In Hyperlinks
     it.TextToDisplay = it.Address
   Next
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan