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

geen hyperlink

Status
Niet open voor verdere reacties.

Writtler

Gebruiker
Lid geworden
14 okt 2007
Berichten
31
Ik kom heel veel over hyperlinks tegen, maar het is moeilijk om precies het gene wat ik zoek eruit te filteren. Daarom maar een nieuwe vraag. Ik kopieer de waarde van een gehele kolom naar een naast gelegen kolom. De uitkomst hiervan dient een www hyperlink te worden. Ik kom een heel eind met het opnemen en samenvoegen maar krijg niet voor elkaar dat de hyperlink werkt. Ik doe het nu handmatig met F2, maar bij een lange lijst wordt dat ook vervelend. Tot nu toe ben ik hier:

Sub Kopieblad2()
'
' Kopieblad2 Macro
'

'
Columns("B:B").Select
Selection.Copy
Sheets("Blad2").Select
Columns("A:A").Select
ActiveSheet.Paste
Columns("D:D").Select
Application.CutCopyMode = False
Selection.ClearContents
Columns("C:C").Select
Selection.Copy
Columns("D:D").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D1").Select
Application.CutCopyMode = False
Range("D1").Select




De uitkomst hiervan is de hyperlink naar www.watdanook.nl deze link wil ik automatisch openen, maar de ontstane hyperlink werkt niet direct. Als ik handmatig de cel celecteer en dus F2 druk gaat het goed, echter als ik dit opneem in een makro neemt hij de "inhoud" van de cel ook op en bij het afspelen, krijg ik de opgenomen hyperlink i.p.v. de celinhoud. Hoe kan ik in voor elkaar krijgen dat de macro niet de inhoud van de cel opneemt?

Dit is wat ik krijg bij het opnemen,

ActiveCell.FormulaR1C1 = _
"http://www.watdanook1.nl "
Range("D2").Select
ActiveCell.FormulaR1C1 = _
"http://www.watdanook2.nl "
Range("D3").Select
ActiveCell.FormulaR1C1 = _
"http://www.watdanook3.nl "
Range("D4").Select

Dit is de bedoeling:

ActiveCell.FormulaR1C1 = _
"inhoud cel"
Range("D2").Select
ActiveCell.FormulaR1C1 = _
"inhoud cel "
Range("D3").Select
ActiveCell.FormulaR1C1 = _
"inhoud cel"
Range("D4").Select
End Sub

Als laatste de mogelijkheid om de cellen met inhoud door te lopen zonder ze allemaal handmatig te moeten celec.

Een hele vraag, misschien te veel van t goede, maar niet geschoten is altijd mis. In indergeval bij voorbaad bedankt !!!
 
Writtler, Ik snap weinig van je vraag. Als ik het 1e stukje code bekijk, ben je bezig met het heen en weer copieren van kolommen (van kolom B naar A, vervolgens delete je de inhoud van D om daarna de kolom C naar D te copieren). En dan geef je aan dat hier een hyperllink (internetadres) uit voortkomt???

Het 2e stuk van de vraag is me óók onduidelijk. Hier ben je dus adressen aan 't opgeven en daar wil je iets mee.

Doe de oplossers van Helpmij (en jezelf) een plezier en voeg ook het bestandje als bijlage toe (en probeer daarmee ook je vraag te verduidelijken)

Groet, Leo
 
Beste Leo,

Na nalezen heb ik er inderdaad een zooitje van gemaakt, ik had de vraag waarschijlijk niet op vrijdagavond moeten stellen :o!

Op mijn werk kan iedereen via internet zijn logboek invullen, ik moet deze logboeken uitlezen. Er zijn gemiddeld 100 logboeken per dag. Elke dag ook allemaal van verschillende personen. Ik moet deze logboek via internet uitlezen en wordt helemaal gek van het handmatige uitzoeken. Ik moet de namen samenvoegen met een vaste link. Bv.: www.watdanook.nl/gebruiker=writtler. De link is hetzelfde, de naam steeds anders. Nu doe ik met een formule de link en naam samenvoegen. Dit doe ik in bv kolom c. In kolom a staat dan www.watdanook.nl/gebruiker=, in kolom b staat writtler. en in kolom c staat de formule tekst.samenvoegen. De uitkomst is eigenlijk een formule dus geen hyperlink. Als je de kolom kopieert en plakt op kolom d, en speciaal plakt met waarde krijg je wel een blauwe kleur, maar de link werkt nog niet. Dat is eigenlijk het probleem, dan moet ik elke cel celecteren en op F2 drukken voordat de link werkt. Hier zoek ik een oplossing voor.


Dat is eigenlijk vraag 1, hieraan vast zit eigenlijk de volgende vraag. Hoe kan ik voorkomen dat in als ik een maco opneem elke cel moet celecteren? Dus hoe zeg ik tegen VBA dat hij in elke cel van een kolom dezelfde handeling uit moet voeren?

Ik hoop dat de vraag zo iets duidelijk is een voorbeeldje heb ik niet bij de hand, moet ik eerst een heel bestand leeghalen. Indien echt nodig kan ik dat alsnog doen.
 
Writtler, Heb je wel 'ns gehoord van de functie 'hyperlink'? Hiermee kan je heel makkelijk adressen samenstellen. Als voorbeeld: in cel A1 zet je 'http://www.helpmij.nl/', in cel B1 zet je 'forum/forumdisplay.php?f=5' en vervolgens in cel C1 de formule
Code:
=HYPERLINK(A1&B1;"helpmij.nl - Excel forum")
Het 1e deel van de functie geeft de URL aan (in dit geval samengesteld uit cel A1 en B1) en in het 2e deel mag je een 'makkelijke naam' opgeven.

Als je (vraag 2...) in iedere cel van een kolom dezelfde handeling moet uitvoeren dan kan je gebruik maken van een 'lus' in de code. Zoek maar 'ns op in je helpfiles onder For Next of Do Loop. Ook kan je gebruik maken van een selectie in je sheet en daar doorheen lussen.
Plak dit stukje code maar 'ns in een gewone module van je VBE in een (nieuwe) sheet .
Code:
Sub LusDoorSelectie()
Dim r As Range

    For Each r In Selection
        r.Value = "geselecteerd!"
    Next r

End Sub
Selecteer een paar cellen en run de code (en zie wat er gebeurt!:D)

Groet, Leo
 
Laatst bewerkt:
Beste Leo,

Kijk nu komen we ergens, valt best tegen een probleem op schrift vastleggen. Inderdaad is de functie hyperlink bij mij bekend. Ik doe eigenlijk hetzelfde maar dan met een omweg, dit is wel makkelijker :thumb:, echter wil ik graag de ontstane link automatisch laten openen door excel. Ik kan maximaal 40 van deze linken in een keer openen, vanuit deze bestanden moet ik veel kopieren en plakken en daar heb ik al een makro voor gemaakt. het enige wat nog niet lukt is automatisch die 40 linken openen. Als ik handmatig een link intype, deze selecteer en op F2 druk krijg ik de volgende code in VBA:

Range("G5").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

Deze code werkt wel bij mijn omweg, maar dan moet ik dus alle linken eerst "behandelen"met F2. Bij de door jou opgegeven optie werkt deze code echter niet en loopt t vast met een foutmelding. Als ik de cel handmatig celecteer, werkt de hyperlink perfect. Als ik deze handeling opneem, komt alleen deze code in VBA te staan.

Range("G5").Select

Met afspelen opent hij niet de hyperlink, maar celecteert de cel :confused:.

Vraag 2 is helemaal perfect, ik had al in de help zitten lezen, maar die is vrij onduidelijk, dit is al veel simpeler als waar ik mee bezig was!

Thanks,

Dennis
 
Writtler, Heb je hier iets aan?
Code:
Sub MaakHyperlinks()
Dim c As Range
'de veronderstelling is dat een deel van de link in kolom A staat en het andere deel in kolom B
'vervolgens zal in kolom C het volledig adres gemaakt worden
    
    If ActiveCell.Column <> 3 Then Exit Sub 'je moet in kolom c staan...
    
    For Each c In Selection
        c.Hyperlinks.Add c, c.Offset(, -2).Value & c.Offset(, -1).Value, , , c.Offset(, -1).Value
    Next
    
End Sub

Sub OpenHyperlinks()
Dim i As Long, lEersteRegel As Long
'de veronderstelling is dat de URL in kolom C staat

    lEersteRegel = Application.InputBox("Geef de 1e regel van de te openen bestanden...", "1e regel", 1, , , , , 2)
    If lEersteRegel = 0 Then Exit Sub 'er is op cancel gedrukt!
    
    For i = lEersteRegel To lEersteRegel + 39
        If IsEmpty(Cells(i, 3)) Then Exit Sub
        Cells(i, 3).Hyperlinks(1).Follow NewWindow:=True
    Next i

End Sub
Het zijn 2 kleine subjes. Run de 1e om je samengestelde URL in kolom C te krijgen (dit naar aanleiding van mijn eerder genoemde voorbeeld van cel A1, B1 en C1). De code loopt door het gebied dat je hebt geselecteerd. Als dat gedaan is, run je code 2. Je krijgt eerst een inputbox met de vraag wat de 1e regel is die je als URL wilt gaan openen. Klik op OK en er zullen 40 vensters (dat kon volgens jou) geopend worden.

Nou, kijk maar of je hier iets mee kan.... (ik hoor 't wel weer:D)

Groet, Leo
 
Leo,

Dit is m helemaal, :thumb::thumb::thumb::thumb:

Groetjes en heel veel thanks!!!!

Dennis
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan