Avatar billede steen--madsen Juniormester
15. maj 2019 - 14:23 Der er 10 kommentarer og
1 løsning

Makro til kopiering af Links

A            B    C    D    E        F    G        H       
1    Link 1    Tekst                    Tekst          (Kopiere Link)
2    Link 2    Tekst
3    Link 3    Tekst
4
5
6

Mangler en makro der i området B1:B6 finder tekst i kolonne F og kopier Link i kolonne A ind i kolonne H 
LOPSLAG kopiere kun navn på Link og ikke den skjulte URL
Giver det mening ?
Avatar billede Jan K Ekspert
15. maj 2019 - 14:54 #1
Prøv med noget i denne stil

For Each c In Range("b1:b6").Cells
  If c.Value = Range("f1").Value Then
    Range("H1") = c.Offset(0, -1).Formula
  End If
Next
Avatar billede steen--madsen Juniormester
16. maj 2019 - 18:02 #2
Den virker med- skulle gerne indsætte i kolonne H samme række som tekst findes-

tillægsp. den kopiere Link som tekst- kan den udbygges til at ligesom når man H klikker og vælger indsæt som Transponer - har prøvet at indspille makro og lurere kode- det gik ikke godt
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
Avatar billede Jan K Ekspert
17. maj 2019 - 13:58 #3
Det første kan du løse med

Sub KopierLink()
For Each c In Range("b1:b6").Cells
  If c.Value = Range("f1").Value Then
    c.Offset(0, 6).Formula = c.Offset(0, -1).Formula
  End If
Next
End Sub

For saå vist angår det andet spørsmål er jeg ikke klart ove,r hvad du mener. I og med, at den kun kopierer en celle ad gangen, giver transponer ikke rigtigt nogen mening?
Avatar billede steen--madsen Juniormester
18. maj 2019 - 06:55 #4
Det jeg mener er at resultat er som herunder- altså makro gennemløber kolonne F og finder tilsvarende tekst i kolonne C - kopiere Link i samme række og indsætter link i den position som makro er nået til. Betragt B og C som lager og F og H som
bestilling - giver det bedre mening
A        B        C      D      E        F            G        H     
1    Link 1    Tekst4                    Tekst7            Link 2
2    Link 2    Tekst7                    Tekst9            Link 3
3    Link 3    Tekst9                    Tekst4            Link 1

Ved kopiering indsættes Link som tekst- når jeg indspiller makro der indsætter link korrekt - så er resultat som herunder
    Range("A1").Select
    Selection.Copy
    Range("H1").Select
    Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
        , SkipBlanks:=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Transpone = forsøg på at indsætte celle korrekt enkeltvis - men ja nej ikke den rigtige anvendelse - skal anvendes på flere.
Avatar billede Jan K Ekspert
18. maj 2019 - 21:49 #5
Du kan ikke bruge copy, da den aldrig tager linket med. Jeg prøver at se på det.
Avatar billede Jan K Ekspert
19. maj 2019 - 12:04 #6
Prøv med dette

Sub KopierLink()
Dim rk As Integer, fcont As String, cel As Variant
    For Each cel In Range("f1:f6").Cells
        fcont = cel.Value
        For Each c In Range("c1:c6").Cells
            If c.Value = fcont Then
                Range("H100").End(xlUp).Select
                If IsEmpty(Selection) Then
                    Selection.Value = c.Offset(0, -1).Formula
                Else
                    Selection.Offset(1, 0).Value = c.Offset(0, -1).Formula
                End If
            End If
        Next
    Next
End Sub

Ret selv til de relevante områder. Er der mere end 100 linjer, som skal undersøges, skal H100 ændres til noget, der er større end antallet af linjer.
Avatar billede Jan K Ekspert
19. maj 2019 - 12:05 #7
Du kan slette Dim rk as Integer, da jeg endte med ikke at bruge den variabel alligevel.
Avatar billede steen--madsen Juniormester
19. maj 2019 - 15:55 #8
makro virker ved den indsætter tekst- at det så er et link den kopiere celle indeholder kan ikke håndteres korrekt som jeg kan læse mig til. -
Tænkte på- kan ændre celle til at indeholde tekst (URL)

så måske indflette følgende som rutine til udførelse hvis tekst findes i kolonne

.Hyperlinks.Add Anchor:=.Range("Hx"), _
Address:="Tekst i celle", _
ScreenTip:="Tekst", _
TextToDisplay:="Tekst"

altså hvis makro finder tekst så kopieres tekst i celle og indsættes som et link i H

formål er at kunden så i tilbud direkte i PDF kan åbne produktblad direkte hos producenten- indhold i Link et et virkeligt dybt URL
Avatar billede Jan K Ekspert
19. maj 2019 - 19:46 #9
Når jrg ptøvrr kopierer den linket fint nok.
Avatar billede Jan K Ekspert
19. maj 2019 - 19:48 #10
Men det skyldes måske at mine link er indsat som hyperlink formler.
Avatar billede steen--madsen Juniormester
24. maj 2019 - 17:47 #11
Ja korrekt- virker med Hyperlink - Lukker den her
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