Du kan sagtens lave en løkke, men det afhænger lidt af hvordan dataen er ordnet.
Står det i én kolonne, med ingen tomme rækker? Hvis de står i eks. clA, da kan du jo eks. i clB skrive .pdf og knalde den i bund. I clC laver du så formlen =TEKST(A1;)&TEKST(B1;). Knald i bund.
Endeligt kopierer du kolonne C og sætter "særligt" ind i A, med værdier.
--
Gæstebruger, opret dit eget login og få din egen signatur. Hejsa
Har lavet noget kode du måske kan bruge. HUSK at lave en kopi af dit ark for en sikkerhedsskyld :)
Gør som følger:
1. Højre klik på det ark der indeholder dine links
2. vælg "View code (vis kode)"
3. I vinduet til højre der hedder "Book1 - Sheet1" (måske mappe1 - Ark1 alt efter sprog og ark nummer), indsætter du dette kode:
Private Sub Worksheet_Activate()
Dim startCelle As String
Dim slutCelle As String
Dim extension As String
Dim x As Range
startCelle = "A1"
slutCelle = "A3"
extension = ".pdf"
For Each x In Range(startCelle, slutCelle)
x.Value = x.Value + extension
Next
End Sub
4. nu ændrer du værdierne for "startCelle" og "slutCelle", så det passe med start cellen og slut cellen du har dine links i (hvis de vel at mærke står i samme kollonne hele vejen ned igennem arket)
5. Skift "extension", til den extension du vil indsætte efter linket
6. gå tilbage til dit regneark, skift til f.eks ark 2, skift tilbage til ark 1 (altså det ark der indeholder dine links) og koden bliver udført.
Håber det kan bruges
mvh.
Søren
--
I punkt 1: "Højre klik på det ark der indeholder dine links
", mener jeg at du skal trykke på den lille fane nederst til venstre hvor der f.eks. står "Ark 1" eller hvad dit ark nu hedder :)
--
Og når links så er ændret, går du igennem samme steps igen og fjerner koden (Ellers vil der blive tilføjet extensions hver gnag du skifter tilbage til arket :) ). Det er en nem og hutig løsning, derfor bliver der ikke checket for div. forholsregler...
--
#1
Desværre kan jeg ikke det da det ikke er alle felterne i cellen som har dataen, plus at jeg ikke bare kan flytte rundt på ting og sager da regnearket er temmelig fyldt med alverdens.
#2+3
Tak søren, meget veludført guide du har skrevet! Jeg er dog allerede taget hjem på weekend, men tester det af på mandag og vender tilbage om det har fungeret :)
Vil tilføje at det til forveksling ligner nogle af de engelske guides jeg læste i går, men aldrig fik til at fungere, måske fordi nogle af mine oversættelser fra engelsk til dansk kode var forkert.. Glæder mig hvertfald til at teste det af. :)
--
P5N-T Deluxe | Q6600 | 8800GT | Mushinkin DDR2 | Forlidt HDD :(
Works like a charm!
Dog var der lige en bette ting som jeg vidst glemte at nævne, eftersom der godt nok er 16000+ rækker med links i den celle, så er det altså ud af 50000+ rækker, ergo har jeg en fandes masse rækker hvor der så nu bare står .pdf i :-)
Så er det vil bare hvordan jeg sortere det ud sådan at den kun fylder i de rækker hvor der faktisk er data i feltet?
Ellers skal du hvertfald have tak for hjælpen søren, det virkede som jeg beskrev opgaven! :-)
--
P5N-T Deluxe | Q6600 | 8800GT | Mushinkin DDR2 | Forlidt HDD :(
Glad for at kunne hjælpe :)
Hvis du tager udgangspunkt i de oprindelige data uden extensions på og så bruger fremgangsmåden beskrevet ovenfor, men istedet indsætter dette kode:
Private Sub Worksheet_Activate()
Dim startCelle As String
Dim slutCelle As String
Dim extension As String
Dim x As Range
startCelle = "A1"
slutCelle = "A30"
extension = ".pdf"
For Each x In Range(startCelle, slutCelle)
If x.Value "" Then
x.Value = x.Value + extension
End If
Next
End Sub
Så springger den de tomme celler over :)
Mvh.
Søren
--
Der mangler noget i koden ovenfor, forsvnadt under copy paste.. prøver lige igen:
Private Sub Worksheet_Activate()
Dim startCelle As String
Dim slutCelle As String
Dim extension As String
Dim x As Range
startCelle = "A1"
slutCelle = "A30"
extension = ".pdf"
For Each x In Range(startCelle, slutCelle)
If x.Value "" Then
x.Value = x.Value + extension
End If
Next
End Sub
--
Private Sub Worksheet_Activate()
Dim startCelle As String
Dim slutCelle As String
Dim extension As String
Dim x As Range
startCelle = "A1"
slutCelle = "A30"
extension = ".pdf"
For Each x In Range(startCelle, slutCelle)
If x.Value "" Then
x.Value = x.Value + extension
End If
Next
End Sub
--
Hey kemoen
Har sendt dig en mail istedet, det virker ikke når jeg poster koden her.
mvh.
Søren
--
Hey Søren,
Modtog mailen og det virkede ganske fornuftigt som det skulle :-) - prøvede at svare på din mail 2 gange, men fik en postmaster error på dem begge, hmmm..
Men jeg lavede så selv en Elseif der på sådan at den ikke tilføjer hvis der allerede står .pdf ved brug af InStr funktionen :-)
Endnu engang tusind tak for hjælpen, bedst af alt så ved at sidde og lege lidt med det i dag så endte jeg faktisk med at forstå koden også! (Y)
--
P5N-T Deluxe | Q6600 | 8800GT | Mushinkin DDR2 | Forlidt HDD :(
Igen, er kun glad for at kunne hjælpe :)
Og super at du også har forstået koden :)
--
#13
Jamen det skal da overvejers, men hvad tænker du på? er det i forhold til at koden ikke bliver vist korrekt her på hol eller? :-)
Og i forhold til min primære post så kommer de jo med alverdens af gode ideer og eftersom jeg ikke helt kan klare skærene alene er der forhåbentlig et klogt hoved (søren) blandt jer hol'er! :-)
Nu er det nemlig at noget af biblioteket bliver flyttet fra vores server til et søster selvskabs server, hvor ved at stien jo også bliver ændret så hvor at det før hed
D:\1\2\3\4
skal det over og hede noget ala
D:\2\3\4
Jeg har leget lidt med nogle InStr parameter i håbet om at kunne opsøge dataen, for derefter slette dataen ved brug af både trim og str parameter, men af en eller anden årsag vil den ikke for det meste er det en "Type mismatch" fejl jeg bliver kastet i hovedet...
Så igen, nogle genier der ude? :-)
--
P5N-T Deluxe | Q6600 | 8800GT | Mushinkin DDR2 | Forlidt HDD :(
Fandt selv en løsning på mit nye problem, kunne klares med en simpel:
Sub link_fix()
With Columns("S:S")
.Replace what:="D:\1\2\3\", Replacement:="D:\4\5\"
End With
End Sub
--
P5N-T Deluxe | Q6600 | 8800GT | Mushinkin DDR2 | Forlidt HDD :(