15. maj 2019 - 14:23Der 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 ?
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
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?
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.
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.
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
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.