doe het dan zo.
ik vraag me alleen af waarom je wil met een knop werken
Die knop is ook helemaal niet nodig, 't ging mij om een stuk code dat ik ergens tussen kon passen
En dat stuk code doet het nu perfect!
Bedankt voor het meedenken, ik ga de vraag als opgelost markeren!
#Emields
Ik heb je oplossing al in mijn grote geheel geïntegreerd, werkte eerst goed, maar een paar aanpassingen verder (die helemaal niet met deze code te maken hadden) plotseling niet meer.
Ik ben al een poos aan het puzzelen geweest en ik vermoed dat hij op de if's blijft hangen
Ik vermoed dat hij best zonder die if's kan want er zullen in dit document altijd hyperlinks staan en het zullen er altijd >0 zijn, dus die checks moeten er best uit kunnen.
Ik krijg het er echter niet uit op een manier die de code werkend kloppend houdt.
Graag een suggestie?Code:Sub svp() Dim R As Range, Temp As Range If Sheets(1).Hyperlinks.Count = 0 Then Exit Sub x = Selection.Row - 1 ' Set Temp = Sheets(1).Hyperlinks(1).Range For i = x To 2 Step -1 If Cells(i, 3).Hyperlinks.Count > 0 Then Set R = Range(Cells(i, 3).Hyperlinks(1).SubAddress) R.Parent.Select R.Select Exit For End If Next End Sub
Alvast dank!
Laatst aangepast door huijb : 5 februari 2023 om 11:06
Zet de code goed tussen codetags, eventuele inspringingen zijn nu niet te zien.
Zoek je wel in de goede kolom ?
Laatst aangepast door AD1957 : 1 februari 2023 om 16:56
Groet,
Albert
(ik gebruik excel 2016 nederlands)
Deze werkt ook, mits de hyperlinks in kolom 3 staan.
En anders maar een voorbeeldbestand.Code:Sub svp() Dim R As Range For i = ActiveCell.Row To 2 Step -1 If Cells(i, 3).Hyperlinks.Count > 0 Then Set R = Range(Cells(i, 3).Hyperlinks(1).SubAddress) Application.Goto R Exit For End If Next End Sub
Laatst aangepast door AD1957 : 1 februari 2023 om 17:20
Groet,
Albert
(ik gebruik excel 2016 nederlands)
Ik heb een poos met die codetags gepuzzeld.
Volgens mij heb ik het er conform voorschrift in gezet, maar het ziet er idd niet uit zoals het hoort, excuus!
..en ik dacht ook even aan jouw suggestie, maar zowel aan de code als aan de kolommen als aan de plek van de hyperlinks is niks veranderd.
Je alternatieve code ziet er een heel stuk simpeler uit.
Ik ga hem morgen direct proberen, en hou je op de hoogte!
Laatst aangepast door grietsenwijma : 1 februari 2023 om 17:21
doe eens op het blad.
en voor de codetags:Code:Sub tel() MsgBox Hyperlinks.Count End sub
Selecteer de code en click op # in het lint
Laatst aangepast door AD1957 : 1 februari 2023 om 17:27
Groet,
Albert
(ik gebruik excel 2016 nederlands)
Gebruik:
Code:Sub M_snb() For Each it In ActiveCell.Offset(-ActiveCell.Row + 1).Resize(ActiveCell.Row - 1) If it.Hyperlinks.Count > 0 Then Set it1 = it Next it1.Hyperlinks(1).Follow End Sub
VBA voor smarties
VBA is een taal die je moet leren met een grammatica- en een woordenboek.
http://www.helpmij.nl/forum/announcement.php?f=5
Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.
Bedankt voor alle hulp!
De code van AD1959 heb ik inmiddels in mijn document gepast en werkt uitstekend!
De code van snb lijkt nog een stuk korter en beknopter. ...en simpeler en beknopter is vaak beter, die ga ik ook proberen, wellicht werkt die beter, in beide gevallen ben ik geholpen!
Hartelijk dank daarvoor!
Laatste code van AD telt de links.
Verrassend, maar ik weet of doorzie niet goed wat ik er op dit moment mee moet.
...en even om te kijken of het nu goed gaat met de code notatie:
Bingo!Code:Sub End Sub![]()
Even kijken of er ook wel links instaan.Laatste code van AD telt de links.
Groet,
Albert
(ik gebruik excel 2016 nederlands)
En de fout zat waarschijnlijk hier:
Code:If Sheets(1).Hyperlinks.Count = 0 Then Exit Sub
Groet,
Albert
(ik gebruik excel 2016 nederlands)
@AD19
dit lijkt me robuuster:
En voor mijn codesuggestie:Code:ActiveCell.Parent.Hyperlinks.Count
Code:Sub M_snb() For Each it In ActiveCell.Offset(-ActiveCell.Row + 1).Resize(ActiveCell.Row - 1) If it.Hyperlinks.Count > 0 Then Set it1 = it Next If Not IsEmpty(it1) Then it1.Hyperlinks(1).Follow End Sub
Laatst aangepast door snb : 2 februari 2023 om 12:14
VBA voor smarties
VBA is een taal die je moet leren met een grammatica- en een woordenboek.
http://www.helpmij.nl/forum/announcement.php?f=5
Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.
@Ad19
Ik weet niet welke Excelversie jij hebt, maar mijn code loopt hier 100%.
Net zomin als je voor followhyperlink de eigenschap 'address' hoeft te vermelden, geldt dat ook voor 'subaddress'.
Beide zijn eigenschappen en geen objekten met een 'follow'methode.
Een hyperlink is een hyperlink; de lokatie handelt de hyperlink zelf af.
PS. een bericht is blijkbaar sneller weggehaald dan beantwoord.![]()
Laatst aangepast door snb : 2 februari 2023 om 16:58
VBA voor smarties
VBA is een taal die je moet leren met een grammatica- en een woordenboek.
http://www.helpmij.nl/forum/announcement.php?f=5
Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.
Excuus, was een beetje in de olie![]()
Groet,
Albert
(ik gebruik excel 2016 nederlands)
Komt goed uit met vele frietliefhebbers hier![]()
VBA voor smarties
VBA is een taal die je moet leren met een grammatica- en een woordenboek.
http://www.helpmij.nl/forum/announcement.php?f=5
Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.
Ik ben verder gegaan met de code van AD1957 uit #25 voor het voorbeeld van #20
Dit issum:
Zoekt de eerstgevonden hyperlink in kolom 3 BOVEN de regel waar je met je cursor staat.Code:Sub svp() Dim R As Range For i = ActiveCell.Row To 2 Step -1 If Cells(i, 3).Hyperlinks.Count > 0 Then Set R = Range(Cells(i, 3).Hyperlinks(1).SubAddress) Application.Goto R Exit For End If Next End Sub
Nu ben ik weer een stap verder en wil ik graag naar de eerstgevonden hyperlink ONDER de regel waar je staat.
Moet een simpele aanpassing zijn, maar ik krijg er geen vinger achter.
Wie kan me een hint geven?
Vast dank!
Laatst aangepast door grietsenwijma : 5 februari 2023 om 09:50
zoiets
nu zoekt hij van de active cel naar beneden, die 500 mag gerust meer zijn hij stopt toch met zoeken bij de eerste cel die hij tegenkomt met een hyperlinckCode:sub svp() Dim R As Range For i = ActiveCell.Row to 500 If Cells(i, 3).Hyperlinks.Count > 0 Then Set R = Range(Cells(i, 3).Hyperlinks(1).SubAddress) Application.Goto R Exit For End If Next End Sub
Dat doet ie uitstekend!
....maar ik moet bekennen dat ik mezelf weer eens heb overschat.
Ik dacht dat als ik dat stukje van de puzzel (naar beneden selecteren) zou hebben dat ik dan de rest zelf wel zou kunnen uitvinden.
Het volledige stuk dat ik eigenlijk zoek is:
In de kolom naar beneden zoeken naar de eerstvolgende cel die voldoet aan een bepaald criterium en daar heen gaan.
Het criterium is dat de inhoud van de cel die ik zoek altijd begint met "§"
....en ik geef toe, zou eigenlijk een nieuwe vraag moeten zijn (maar hij komt bij mij in dezelfde totaalcode)
en moeten we een voorbeeldje bouwen?