Avatar billede karstenlaursen Nybegynder
21. april 2008 - 21:23 Der er 4 kommentarer og
1 løsning

Userform og hyperlinks

Hey

Jeg har en userform, og jeg vil gerne have at brugeren browser efter et billede eller dokument, og så bliver det lavet om til et hyperlink som står i en tekstbox ved siden af, og når jeg trykker på Save, så bliver det langt in rækken i, jeg bruger de andre bogstaver i linen til anden data. Håber det giver mening.
Avatar billede supertekst Ekspert
22. april 2008 - 00:02 #1
Har frembragt et lille eksempel - lidt anderledes end dit udspil, men måske kan du anvende nogle principper;

Dim fil, nextRæk
Private Sub CommandButton1_Click()
Rem Udpeg ny fil - indsæt hyperlink i kolonne 9 - første ledige række
    fil = Application.GetOpenFilename
   
    Worksheets(1).Hyperlinks.Add anchor:=.Range("I" & CStr(nextRæk)), Address:=fil
   
Rem tilføj hyperlink til listbox
    Me.ListBox1.AddItem .Range("I" & CStr(nextRæk))
   
Rem optæl ledige række i kolonne 9
    nextRæk = nextRæk + 1
End Sub
Private Sub ListBox1_Click()
Rem følg hyperlink
    ActiveWorkbook.FollowHyperlink Address:=Me.ListBox1
End Sub
Private Sub UserForm_activate()
Rem find ledig række i kolonne I
    With Worksheets(1)
        For ræk = 1 To 65000
            If Cells(ræk, 9) = "" Then
                nextRæk = ræk
                Exit Sub
            Else
                Me.ListBox1.AddItem Cells(ræk, 9)
            End If
        Next ræk
    End With
End Sub
Avatar billede karstenlaursen Nybegynder
22. april 2008 - 06:24 #2
Problemet med den kode du har lavet, er at den ikke skal finde første ledige felt i kolonne "i", men i den userform jeg har lavet, har jeg 8 felter som er textboxe hvor den 9. så skal være til hyperlink, så når jeg trykker på Save, så hvis der lagt et hyperlink ind i listbox, så skal det bare tilføjes til linien, er der ik noget link, ja så skal der ikke stå noget i feltet... Forstår du?

Private Sub cmdsavedata_Click()
With Worksheets("Ark1")
    lNextRow = .Range("A65000").End(xlUp).Row + 1
    .Cells(lNextRow, 1).Value = Me.TextBox1.Text
    .Cells(lNextRow, 2).Value = Me.TextBox2.Text
    .Cells(lNextRow, 3).Value = Me.TextBox3.Text
    .Cells(lNextRow, 4).Value = Me.TextBox4.Text
    .Cells(lNextRow, 5).Value = Me.TextBox5.Text
    .Cells(lNextRow, 6).Value = Me.TextBox6.Text
    .Cells(lNextRow, 7).Value = Me.TextBox7.Text
    .Cells(lNextRow, 8).Value = Me.TextBox8.Text
    'her burde række 9 være med det hyperlink der bliver fundet via en browse
    lNextRow = .Range("A65000").End(xlUp).Row + 1
    Me.TextBox1.Text = ""
    Me.TextBox2.Text = ""
    Me.TextBox3.Text = ""
    Me.TextBox4.Text = ""
    Me.TextBox5.Text = ""
    Me.TextBox6.Text = ""
    Me.TextBox7.Text = ""
    Me.TextBox8.Text = ""
   
   
   
End With

End Sub
Avatar billede karstenlaursen Nybegynder
22. april 2008 - 06:36 #3
Og så brokker den sig og .Range ??
Avatar billede karstenlaursen Nybegynder
22. april 2008 - 07:14 #4
Nå nu har jeg lavet lidt om i koden. Nu får jeg da stien ind på filen det rigtige sted, men det er ikke et hyperlink.

Private Sub Cmdfindpicture_Click()
Dim fil, nextRæk
Rem Udpeg ny fil
    fil = Application.GetOpenFilename
       
Rem tilføj hyperlink til listbox
    Me.ListBox1.AddItem fil

End Sub
Private Sub ListBox1_Click()
Rem følg hyperlink
    ActiveWorkbook.FollowHyperlink Address:=Me.ListBox1
End Sub


Private Sub cmdsavedata_Click()
With Worksheets("Ark1")
    lNextRow = .Range("A65000").End(xlUp).Row + 1
    .Cells(lNextRow, 1).Value = Me.TextBox1.Text
    .Cells(lNextRow, 2).Value = Me.TextBox2.Text
    .Cells(lNextRow, 3).Value = Me.TextBox3.Text
    .Cells(lNextRow, 4).Value = Me.TextBox4.Text
    .Cells(lNextRow, 5).Value = Me.TextBox5.Text
    .Cells(lNextRow, 6).Value = Me.TextBox6.Text
    .Cells(lNextRow, 7).Value = Me.TextBox7.Text
    .Cells(lNextRow, 8).Value = Me.TextBox8.Text
    .Cells(lNextRow, 9).Value = Me.ListBox1.List
    lNextRow = .Range("A65000").End(xlUp).Row + 1
    Me.TextBox1.Text = ""
    Me.TextBox2.Text = ""
    Me.TextBox3.Text = ""
    Me.TextBox4.Text = ""
    Me.TextBox5.Text = ""
    Me.TextBox6.Text = ""
    Me.TextBox7.Text = ""
    Me.TextBox8.Text = ""
Avatar billede karstenlaursen Nybegynder
22. april 2008 - 07:48 #5
Opretter ny, da denne ikke er besvaret
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester