clausnilsson Mester
02. april 2020 - 12:54 Der er 4 kommentarer og
2 løsninger

VBA makro til hurtigere input af data

Hej,
Jeg er i færd med at lægge en masse billeder ind i et regneark. Det er længe siden jeg har rodet med VBA og har ikke tid til at udforske det grundigt igen lige nu. Men jeg vil kunne spare en del tid hvis denne makro helt simpelt kan bringes til at virke som ønsket.

Range("E109").Select
    Selection.Copy
    Range("I109").Select
    ActiveSheet.Pictures.Insert( _
        "D:\OneDrive\Cloud controller main\RS\23H2 - Holmsjön to Stöde power lines over road and narrow spots\Powerlines\DSCN1064.JPG" _
        ).Select

Det her er en simpel indspilning, som jeg ikke kan bruge for den skal naturligvis ikke selecte E109 og I109. Jeg går 4 celler til venstre og kopierer indholdet og så 4 celler til højre og indsætter et billede. Stien kan selvfølgelig variere og filnavnet er nyt hver gang (hentes jo i kolonne E).

Jeg har søgt og intet fundet og jeg har afprøvet diverse Win 10 makrooptagere uden held.

Hvis det kræver kompleks VBA kode må jeg fortsætte med de mange tastetryk, men er der en simpel løsning?

Mvh
Mads32 Ekspert
02. april 2020 - 14:23 #1
Hej

Inden for de seneste 2 uger har jeg her på sitet eller på "Dansk regneark Forum) set en løsning som du søger.  Den viste portrætter af besætningsmedlemmer, som blev vist i flere forskellige sammenhænge.
Jeg har ikke lige nu fundet det. jeg er ikke så god til at søge, jeg finder ofte noget ved en tilfældighed.

m v h mads32
Jan K Ekspert
02. april 2020 - 15:50 #2
Hvis du gør det et billede ad gangen, kan du stå i E, ogtage udgangspunkt i ActiveCell i stedet for E109, og så bruge Offset(0,4) til komme til I-kolonnen.

Skal det ske automatisk, kan du bruge en For Each... Next løkke til at løbe alle cellerne i E-kolonnen igennem.
clausnilsson Mester
02. april 2020 - 21:31 #3
Awesome :) ja, bare et ad gangen. Så langt så godt, dette virker, men to spørgsmål mere.

Dim navn As String
    ActiveCell.Offset(0, -4).Select
    Selection.Copy
    navn = Selection.Value
    ActiveCell.Offset(0, 4).Select
    ActiveSheet.Pictures.Insert( _
        "D:\OneDrive\Cloud controller main\RS\" & navn _
        ).Select
    Call Resize_active_image
    ActiveCell.Offset(1, 0).Select

1) Efter den har kørt er cellen, som filnavnet blev hentet i i kolonne E, stadig selected (med stiplet box omkring), hvordan deselecter jeg den (kan med ESC-knappen, men vil gerne have det med i koden)?
2) Det virker selvfølgelig kun hvis filen er i samme sti som sidst. Hvis nu filen skal findes et nyt sted ville det være rart at den konstaterer at filen ikke findes her og så beder om en ny sti. Er det lige så enkelt?
Jan K Ekspert
02. april 2020 - 22:39 #4
Det første kan gøres med

Application.CutCopyMode = False til sidst.

Det andet kan jeg ikke svare på på stående fod. Det må jeg undersøge, men det må være noget med at reagere på den fejlkode, der kommer.
clausnilsson Mester
02. april 2020 - 23:06 #5
Virker også :) Topklasse :)

Og 2) har jeg besluttet mig for at det bliver for bøvlet. Filnavnet får jeg fra et lille program, som skanner mappen for filer, og den kan også spytte filnavn inkl. sti ud, så det bruger jeg i stedet.

Alt løst - kæmpe tak!
Jan K Ekspert
03. april 2020 - 10:15 #6
Velbekomme
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

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





Premium
"Jeg vil selv bestemme, om jeg skal ansætte fem bestemte medarbejdere, eller om mine medarbejdere skal løbe nøgne rundt om bygningen for at nå målsætningerne"
"Jeg vil selv bestemme, om jeg skal ansætte fem bestemte medarbejdere, eller om mine medarbejdere skal løbe nøgen rundt om bygningen for at nå målsætningerne."
Computerworld
Trump kræver pludselig ‘en masse penge’ for at godkende Microsofts køb af TikTok
Præsident Donald Trump siger, at USA skal have ‘en masse penge’, hvis Microsoft skal have grønt lys til at købe kinesiske TikTok. Kina truer med at svare igen.
Job & Karriere
Regner din ferie væk? Brug tiden på at søge en af disse otte stillinger, der er ledige netop nu
Det sjasker ned over hele Danmark. Du kan bruge de våde sommerdage på at søge et af disse otte job, der er ledige lige nu.
White paper
God it-sikkerhed kræver hurtige og kontinuerlige opdateringer på tværs af dit it-landskab
Konsekvenserne kan være uoverskuelige, når en it-kriminel får adgang til virksomhedens systemer. Typisk kan tabet af tid, tabet af indtægter og tabet af omdømme gøres op i millioner. I dette whitepaper kan du derfor læse om fordelen ved kontinuerligt at arbejde med it-sikkerhed og sårbarheder – og hvordan du kan sikre hurtige og kontinuerlige opdateringer på tværs af dit it-landskab. Også uden at skulle bruge dagevis på at researche trusler og de relevante opdateringer.