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

Emailadressen (hyperlink) in draaitabel behouden

Status
Niet open voor verdere reacties.

JacinthaO

Gebruiker
Lid geworden
31 mrt 2016
Berichten
21
Hallo,

Ik ben bezig met een adreslijst en heb op 1 pagina alle gegevens van verschillende type klanten.
Per type klant heb ik een draaitabel gemaakt. Nu heb ik op de overzichtspagina een kolom met de emailadressen staan, waarbij ik kan klikken op het mailadres en ik meteen doorgestuurd wordt naar outlook. Dit krijg ik echter niet te zien in de draaitabellen. Is er een manier om dit wél te laten slagen?

Bekijk bijlage Test1.xlsx

Groet en alvast bedankt voor het meedenken,
Jacintha
 

Bijlagen

  • Test1.xlsx
    12,1 KB · Weergaven: 55
Dankjewel Kristiaan, voor het meedenken.
Wat ik hieraan alleen jammer zou vinden is dat ik altijd een extra handeling moet doen, ook al ik een nieuw adres toevoeg in de ruwe data. Eigenlijk zou ik dit het liefst in 1 macro geregeld hebben.. Maar ik weet niet of dat mogelijk is?
 
Dat het niet de mooiste oplossing is ben ik volledig met je eens. Er staat echter wel een ALS-formule in verwerkt, dus je zou (bij wijze van spreken) dit voor de gehele kolom door kunnen trekken. Of dit verder uit te werken is in een macro is niet mijn expertise :rolleyes:
 
Hallo allemaal,

Is er nog iemand die me hier mee zou kunnen helpen? Weet iemand of het mogelijk is om de hyperlinks in een draaitabel te behouden of weer te creëren?

Alvast bedankt!

Groet,
Jacintha
 
zoiets eventueel, misschien kan het handiger, het is te lang geleden ...
Code:
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)

    Set c = Target.DataBodyRange.Resize(, 1).Offset(, -2)            'de kolom 2 kolommen links van de databodyrange, daar staan je emailadressen
    c.Offset(, 10).ClearContents                                     '10 kolommen naar rechts daar gaan we ze schrijven, maar eerst leegmaken !
    For Each c1 In c.Cells
        If InStr(1, c1, "@", vbTextCompare) Then                     'is het een emailadres ?
            c1.Parent.Hyperlinks.Add Anchor:=c1.Offset(, 10), Address:=c1.Value
        End If
    Next

End Sub
 
Zo lijken het hyperlinks in je pivottable.
Code:
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Dim cl
 For Each cl In Target.TableRange1
   If InStr(cl, "@") Then cl.Hyperlinks.Add cl, "", cl.Value
 Next cl
End Sub

Alleen ze werken niet.
Met een dubbelklik op de zogenaamde hyperlink werkt het wel met onderstaande code.
Je kan het natuurlijk ook met een selection_change uitvoeren.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 If InStr(Target, "@") Then ActiveWorkbook.FollowHyperlink "mailto:" & Target
 Cancel = True
End Sub

Beide codes plaatsen in blad waar de pivottable staat.
 
zoiets eventueel, misschien kan het handiger, het is te lang geleden ...
Code:
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)

    Set c = Target.DataBodyRange.Resize(, 1).Offset(, -2)            'de kolom 2 kolommen links van de databodyrange, daar staan je emailadressen
    c.Offset(, 10).ClearContents                                     '10 kolommen naar rechts daar gaan we ze schrijven, maar eerst leegmaken !
    For Each c1 In c.Cells
        If InStr(1, c1, "@", vbTextCompare) Then                     'is het een emailadres ?
            c1.Parent.Hyperlinks.Add Anchor:=c1.Offset(, 10), Address:=c1.Value
        End If
    Next

End Sub

Bedankt voor het meedenken. Helaas werkte deze optie bij mij niet.
 
Zo lijken het hyperlinks in je pivottable.
Code:
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Dim cl
 For Each cl In Target.TableRange1
   If InStr(cl, "@") Then cl.Hyperlinks.Add cl, "", cl.Value
 Next cl
End Sub

Alleen ze werken niet.
Met een dubbelklik op de zogenaamde hyperlink werkt het wel met onderstaande code.
Je kan het natuurlijk ook met een selection_change uitvoeren.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 If InStr(Target, "@") Then ActiveWorkbook.FollowHyperlink "mailto:" & Target
 Cancel = True
End Sub

Beide codes plaatsen in blad waar de pivottable staat.


Dit werkt; Geweldig:) Heel fijn!
Het enige wat er nu nog gebeurt in mijn originele bestand, is dat als er in 1 cel meerdere mailadressen staan (gescheiden door een spatie of enter), komen alle mailadressen als geadresseerden bij outlook. Zou je hier nog in mee kunnen denken?
 
Gelieve niet quoten, druk op de reageerknop.


Het gaat erom hoe ze in de pivottable staan.
Plaats anders een bestandje met dat voorval.
 
Zo kan het:
 

Bijlagen

  • __mail_link_snb.xlsb
    15,3 KB · Weergaven: 59
Bekijk bijlage Test1.2.xlsm

Bedankt voor het meedenken allen. Het werkt tot nu toe goed:)
Het enige waar ik nog tegenaanloop is dat als ik in de draaitabel op de hyperlinks klik, ze allemaal (ongeacht of er een enter of komma staat) in de geadresseerdenbalk "aan" in mijn outlook verschijnen. Is er een mogelijkheid om één van de emailadressen aan te klikken? Alvast bedankt voor het meedenken!
 
Kan je hiermee uit de voeten?
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If InStr(Target, "@") Then
  sv = Split(Replace(Target, ",", vbLf), vbLf)
  getal = Application.InputBox("geef een getal in", "kiezen", "bv. 1e, 2e of 3e hyperlink", , , , , 1)
    If getal <> "" And getal > 0 And getal <= UBound(sv) + 1 Then
      ActiveWorkbook.FollowHyperlink "mailto:" & sv(getal - 1)
      Cancel = True
    End If
End If
End Sub
 
Wauw, weer een stap verder! Ook dit werkt goed:)
Zou het ook mogelijk zijn om meerdere adressen hiermee aan te klikken?
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan