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

Vervolg op hyperlinken naar 1 cel

Status
Niet open voor verdere reacties.

Jack Nouws

Terugkerende gebruiker
Lid geworden
16 apr 2008
Berichten
1.396
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c       As Range
If Target.Hyperlinks.Count > 0 Then
    For Each c In Sheets("Data").[S2:S18]
        If c.Value = Target.Value Then
            Range("A1").Select
            Columns("B:O").EntireColumn.Hidden = True
            Range("R4").Value = Target.Value
        End If
    Next c
        Else
            Range("A1").Select
            Columns("B:Y").EntireColumn.Hidden = True
            Range("AA5").Value = Target.Value
        End If

End Sub

Hallo,

Met bovenstaande code wil ik bereiken dat wanneer ik op een hyperlink klik dat er eerst gekeken wordt of die hyperlink value overeen komt met een bereik die ik heb mee gegeven. Zoja dan moet de tekst van de hyperlink in cel R4 komen te staan.
Als de tekst van de hyperlink niet in het rijtje voorkomt dan moet de tekst van de hyperlink in cel AA5 komen te staan. Wie kan me helpen om de code goed te formuleren, hij werkt wel maar ik kom altijd in Cel AA5 terecht.

Met vr gr
Jack
 
Laatst bewerkt:
Test hier eens wat mee:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c       As Range
If Target.Hyperlinks.Count > 0 Then
    For Each c In Sheets("Data").[S2:S18]
[B]Debug.Print "c = ", c.Value, "Target = ", Target.Value, (c.Value = Target.Value)[/B]
        If c.Value = Target.Value Then
            Range("A1").Select
            Columns("B:O").EntireColumn.Hidden = True
            Range("R4").Value = Target.Value
        End If
    Next c
        Else
            Range("A1").Select
            Columns("B:Y").EntireColumn.Hidden = True
            Range("AA5").Value = Target.Value
        End If

End Sub

Wigi
 
Test hier eens wat mee:

Wigi

Hallo Wigi

Met de debug.print krijg ik als melding: 16 x ONWAAR, en 1 x WAAR. En als dat zo is zou de rest van mijn formule eigenlijk toch moeten kloppen? :confused: Maar het klopt niet, en ik begrijp het niet waarom.

Met vr gr
Jack
 
Staat de Next c wel op de goede hoogte ( => rond de IF)
 
Het lijkt mij vrij logisch dat het niet klopt omdat je alle cellen gaat vergelijken met de waarde van de hyperlink ipv dat je een zoekfunctie gebruikt.
Dus ook al wordt de waarde gevonden dan nog gaat de code verder om de andere cellen te vergelijken.

Met vriendelijke groet,


Roncancio
 
Hallo,
ik heb heel mijn code onderste boven gezet en ik krijg hem niet aan de praat.:evil:
Wat ik ook probeer of verzin het haalt allemaal niets uit.:(
En na al die codes die ik al heb gezien zou ik het toch onderhand toch wel moeten weten, maar dat is nu eenmaal niet en ik schaam me diep.:o:o:o
Het is misschien verstandiger om een curcus te volgen wil ik het beter leren te begrijpen.
Nogmaals mijn excuus voor mijn onkunde met VBA :(
Maar ik hoop dat je me nog wel verder wilt helpen?

Met vr gr
Jack
 
Hallo,
ik heb heel mijn code onderste boven gezet en ik krijg hem niet aan de praat.:evil:
Wat ik ook probeer of verzin het haalt allemaal niets uit.:(
En na al die codes die ik al heb gezien zou ik het toch onderhand toch wel moeten weten, maar dat is nu eenmaal niet en ik schaam me diep.:o:o:o
Het is misschien verstandiger om een curcus te volgen wil ik het beter leren te begrijpen.
Nogmaals mijn excuus voor mijn onkunde met VBA :(
Maar ik hoop dat je me nog wel verder wilt helpen?

Met vr gr
Jack
Ik geloof dat Wigi regelmatig suggesties heeft gedaan voor een cursus.:D

Het punt met de code is dat je per rij gaat vergelijken met een bepaalde waarde.
Een zoekfunctie werkt sneller en bovendien worden dan niet alle cellen in het bereik doorlopen.

Kan je het bestand bijsluiten (zonder gevoelige informatie uiteraard) dan werkt wat makkelijker.

Met vriendelijke groet,


Roncancio
 
Ik geloof dat Wigi regelmatig suggesties heeft gedaan voor een cursus.:D

Het punt met de code is dat je per rij gaat vergelijken met een bepaalde waarde.
Een zoekfunctie werkt sneller en bovendien worden dan niet alle cellen in het bereik doorlopen.

Kan je het bestand bijsluiten (zonder gevoelige informatie uiteraard) dan werkt wat makkelijker.

Met vriendelijke groet,


Roncancio

Met trillende handen post ik hier een bijlage met nep cijfers.

Met trillende groet
Jack
 

Bijlagen

Met trillende handen post ik hier een bijlage met nep cijfers.

Met trillende groet
Jack

Bedoel je het zo?
Als je een keuze maakt in tabel 1 (in de E-kolom) dan verschijnen is aanvullende gegevens in tabellen 2 en 3.

Met vriendelijke groet,


Roncancio
 

Bijlagen

Bedoel je het zo?
Als je een keuze maakt in tabel 1 (in de E-kolom) dan verschijnen is aanvullende gegevens in tabellen 2 en 3.

Met vriendelijke groet,


Roncancio

Het gedeelte om van Tabel1 naar Tabel 2 te komen is goed. Maar ik wil ook via een hyperlink in tabel2 (S9:S23) doorlinken naar Tabel 3 ( de tekst van de gebruikte hyperlink van Tabel2 moet dan in AC5 terecht komen).

Met vr gr
Jack
 
Laatst bewerkt:
Het gedeelte om van Tabel1 naar Tabel 2 te komen is goed. Maar ik wil ook via een hyperlink in tabel2 (S9:S23) doorlinken naar Tabel 3 ( de tekst van de gebruikte hyperlink van Tabel2 moet dan in AC5 terecht komen).

Met vr gr
Jack

Zo dan?

Met vriendelijke groet,


Roncancio
 

Bijlagen

Hallo

Hier ben ik weer met een probleem.
Hoe kan het, dat deze code met de toegewezen kolommen wel werkt?
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Target.Hyperlinks.Count > 0 And Chr(64 + Target.Column) = "F" Then
    Range("V5").Value = Target.Value
ElseIf Target.Hyperlinks.Count > 0 And Chr(64 + Target.Column) = "V" Then
    Range("AH5").Value = Target.Value

End If

End Sub
En als ik deze code verander, dat de code met de toegewezen kolommen niet werkt? (Vanaf ElseIf)
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Target.Hyperlinks.Count > 0 And Chr(64 + Target.Column) = "F" Then
    Range("V5").Value = Target.Value
ElseIf Target.Hyperlinks.Count > 0 And Chr(64 + Target.Column) = "BI" Then
    Range("BY5").Value = Target.Value

End If

End Sub

Graag Uw reaktie hierop AUB.

Met vr gr
Jack
 
Laatst bewerkt:
Omdat CHR(64 + werkt met de alfabet.


Voorbeelden:
CHR(64 + 1) 'Dit is gelijk aan de letter "A"
CHR(64 + 2) 'Dit is gelijk aan de letter "B"
etc.

Ik gebruikte deze constructie omdat dit makkelijker leesbaar is dan de getallen en omdat in het voorbeeld de laatste kolom voor de Z is.
Echter een nadeel is, is dat deze constructie niet verder gaat dan de Z. Dit is met wat code aan te passen:
Code:
If Target.Column > 26 Then MsgBox Chr(64 + Int(Target.Column / 26)) & Chr(64 + (Target.Column Mod 26))

Met vriendelijke groet,


Roncancio
 
Dit is met wat code aan te passen:
Code:
If Target.Column > 26 Then MsgBox Chr(64 + Int(Target.Column / 26)) & Chr(64 + (Target.Column Mod 26))

Met vriendelijke groet,


Roncancio

Ik heb het op deze manier opgelost.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Target.Hyperlinks.Count > 0 And Chr(64 + Target.Column) = "F" Then
   Range("V5").Value = Target.Value
ElseIf Target.Column = 61 Then
    Range("BY5").Value = Target.Value

End If
 
End Sub

Kun je zo nog een regel toepassen? bijv.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Target.Hyperlinks.Count > 0 And Chr(64 + Target.Column) = "F" Then
   Range("V5").Value = Target.Value
ElseIf Target.Column = 61 Then
    Range("BY5").Value = Target.Value
[COLOR="Blue"]ElseIf Target.Column = 71 Then
    Range("CE5").Value = Target.Value[/COLOR]

End If
 
End Sub

(Ik heb gezien dat ik 61 kan vervangen voor "BI" en 71 voor "BS")
PS laat even weten of het zo goed is.


Met vr gr
Jack
 
Laatst bewerkt:
Werkt de code, of werkt ze niet? ;)

De code werkt, alleen is mijn vraag of ik zo op deze manier nog meer regels aan de code kan toevoegen?? :confused: (Zie QUOTE 15)

Met vr gr
Jack
 
Laatst bewerkt:
De code werkt, alleen is mijn vraag of ik zo op deze manier nog meer regels aan de code kan toevoegen?? :confused: (Zie QUOTE 15)

Met vr gr
Jack

Het kan wel, maar ik gaf alleen aan hoe het op een andere manier kan.
Ipv de ELSEIF kan je ook gebruik maken van Select Case en Case.

Hoe dan ook je kunt op beide manieren meerdere regels toevoegen.

Met vriendelijke groet,


Roncancio
 
Ipv de ELSEIF kan je ook gebruik maken van Select Case en Case.

Hallo
Ik ben niet tevreden met de ELSEIF manier, want elke keer als ik een cel selecteer wordt de code afgelopen. Nu wil ik gebruik maken van Select Case en Case maar ik heb hier nog nooit mee gewerkt :( Dus hoe ga ik dat voor elkaar krijgen :( Ik heb al op het forum gekeken, je ziet daar allerlei codes en dan vraag ik mezelf af: Welke "Select Case en Case" code zou nu het best bij mij passen? Ik weet het niet :( Ik hoop dat je me kan helpen. :)

Met vr gr
Jack
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan