Avatar billede Klaus W Guru
06. september 2020 - 21:36 Der er 12 kommentarer og
2 løsninger

VBA hjælp

Hej
Jeg har en lille udfordring. Jeg vil gerne have hjælp til at de faneblade som denne VBA kode importere blive tilført som de sidste altså efter dem der i foranvejen står der.
VBA koden er sådan.

Sub Rektangelafrundedehjørner1_Klik()

Path = Range("h1")

Filename = Dir(Path & "*.xlsm")

Do While Filename <> ""

Workbooks.Open Filename:=Path & Filename, ReadOnly:=True

For Each Sheet In ActiveWorkbook.Sheets

Sheet.Copy After:=ThisWorkbook.Sheets(1)

Next Sheet

Workbooks(Filename).Close

Filename = Dir()

Loop

End Sub

Klaus W
Avatar billede Jan K Ekspert
06. september 2020 - 23:00 #1
Tilføj følgende i begyndelsen af koden:

Dim SS As Integer
SS = Sheets.Count


og ret linjen

Sheet.Copy After:=ThisWorkbook.Sheets(1) til

Sheet.Copy After:=ThisWorkbook.Sheets(ss)
Avatar billede kim1a Ekspert
06. september 2020 - 23:12 #2
Denne linje: Sheet.Copy After:=ThisWorkbook.Sheets(1)
Retter du til Sheet.Copy After:=ThisWorkbook.Sheets(worksheets.count)
Avatar billede Klaus W Guru
07. september 2020 - 07:51 #3
Godmorgen begge to, tak for begge løsninger, de fungere.
Tak for et hurtigt og gode svar som sædvandlig.

God dag til jer

KW
Avatar billede Klaus W Guru
07. september 2020 - 14:16 #4
Er der nogle af de herre der har en ide til hvordan jeg for VBA koden til kun at tage fanebldene en gang. Også selv om jeg køre VBA koden flere gange.

KW
Avatar billede kim1a Ekspert
07. september 2020 - 15:24 #5
Jeg tænker du skal til at sammenligne om der allerede eksisterer faneblad der hedder det samme.
Efter denne:
For Each Sheet In ActiveWorkbook.Sheets

Skal du have et loop der kigger på fanens navn. Jeg er lige lidt usikker på om for each giver dig mulighed for at teste navn, så dette er blot en grov ide:

for x = 1 to worksheet.count
if sheet.name <> thisworkbook.sheet(x).name
Sheet.Copy After:=ThisWorkbook.Sheets(worksheets.count)
next
Avatar billede Klaus W Guru
07. september 2020 - 15:36 #6
Hej kim1a

Linjen if sheet.name <> thisworkbook.sheet(x).name bliver rød. Og jeg kan ikke få den til at køre videre.

KW
Avatar billede kim1a Ekspert
09. september 2020 - 16:59 #7
Jeg ser du har oprettet en ny, så lad os håbe andre byder ind. Når den bliver rød, så hold musen over den og fortæl mig hvad den får sheet.name til at være (den skriver det i mouseover) og tilsvarende på den anden.
Avatar billede Klaus W Guru
09. september 2020 - 17:31 #8
Ja jeg var ikke klar over om jeg fik det forklaret ordentlig.

Når jeg gør sådan sker der intet eller også er der et eller andet jeg har misset

KW
Avatar billede Klaus W Guru
09. september 2020 - 17:38 #9
Har prøvet at kikke på mouseover men det køre ikke rigtig, herfra.

KW
Avatar billede kim1a Ekspert
10. september 2020 - 09:58 #10
Kan du evt. uploade arkene så jeg kan teste?
Avatar billede Klaus W Guru
10. september 2020 - 12:42 #11
Jeps det ville være rigtig dejligt

KW
Avatar billede Klaus W Guru
10. september 2020 - 14:11 #12
Hej igen kim1a

Jeg har oploadet arket håber du kan finde hoved og hale i det. Eller må du rigtig gerne spørge.
KW

https://www.dropbox.com/sh/dezoh2wa5t4j2ty/AACfn2FzbhjyjkRAr4J5wwxia?dl=0
Avatar billede kim1a Ekspert
10. september 2020 - 21:43 #13
Jeg løber lidt ud af en tangent omkring array, så jeg tror ikke helt min kundskaber rækker.

Jeg troede jeg kunne få den til at tage navnene et for et af det nye ark og se om det eksisterede i den anden fil og så kopiere hvis ikke den gjorde. Det lykkes dog ikke, så jeg håber du kan få hjælp på anden vis.
Avatar billede Klaus W Guru
10. september 2020 - 21:54 #14
Godaften kim1a
Tak for din hjælp.
Jeg søger videre.
Hilsen Klaus W
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