Avatar billede lail Forsker
16. januar 2020 - 09:30 Der er 18 kommentarer og
2 løsninger

automatisk oprettelse af ark ud fra liste

Jeg har en lang liste med navne(B3-B60)
Og en skabelon med en masse beregninger

Jeg skal nu kopiere skabelonen ud på en masse ark(57 ark), med navne fra listen (B3-b60). På hvert ark skal navnet på arket (som jo kommer fra listen så i f1)

Jeg kan gøre det manuelt
Men vi gør det ofte i mange forskellige sammenhænge
Har aldrig været et sted der benytter så mange ark ;O)

Kan det ikke gøres i en makro?
Nogen der kan og vil hjælpe???

LN
Avatar billede store-morten Ekspert
16. januar 2020 - 09:50 #1
"En masse ark (57 ark)"
Er det 57 nye filer eller faner i arket?
Avatar billede jens48 Ekspert
16. januar 2020 - 11:04 #2
Jeg får det nu til 58 ark, men prøv med denne makro:

Sub NewSheets()
Dim c As Range
Range("B3:B60").Select
For Each c In Selection
With ThisWorkbook
    .Sheets.Add(After:=.Sheets(.Sheets.Count)).Name = c.Value
End With
Next
End Sub
Avatar billede jens48 Ekspert
16. januar 2020 - 11:15 #3
Jeg glemte at få navnet ind i F1:

Sub NewSheets()
Dim c As Range
Range("B3:B60").Select
For Each c In Selection
With ThisWorkbook
    .Sheets.Add(After:=.Sheets(.Sheets.Count)).Name = c.Value
    .Worksheets(c.Value).Range("F1") = c
End With
Next
End Sub
Avatar billede store-morten Ekspert
16. januar 2020 - 11:42 #4
#jens, du laver 58 faner, ikke ark. 😉 👌
Avatar billede lail Forsker
16. januar 2020 - 20:52 #5
store-morten

Det er nye ark bygget op på præcis samme måde med det samme beregninger
F1 skal så indeholde arknavnet.
F1 går igen i alle formler på hver enkelt side.

Det er ikke haste haste

Men synes det ville være en fed ting at kunne og minimerer også jeg laver fejl undervejs ved at lave det manuelt

LN
Avatar billede store-morten Ekspert
16. januar 2020 - 22:07 #6
Formel i F1 på Skabelon (Ark2)
=MIDT(CELLE("filename";A1);SØG("]";CELLE("filename";A1))+1;256)
Som giver: Fanenavn

Makro:
Sub Opret_nye_faner()
    Sheets("Ark1").Select '<-- Ark med liste
    Sheets("Ark1").Range("B3:" & Sheets("Ark1").Range("B65536").End(xlUp).Address).Select
    For Each c In Selection.Cells
        If Not IsEmpty(c) Then
            Sheets("Ark2").Activate '<-- Skabelon Ark
            ActiveSheet.Copy After:=Sheets(Sheets.Count)
            ActiveSheet.Name = c.Value
        End If
    Next c
End Sub
Avatar billede lail Forsker
17. januar 2020 - 10:18 #7
Jens48

Den laver nye ark fint nok og udfylder også F1 og virkelig hurtigt - fedt. Slutter med en fejl 400 men den bliver færdig, så det kan jeg godt leve med

Men arkene bygges ikke på skabelonen i ark2, hvor der er masser af beregninger og opslag på baggrund af det der står i F1

Et andet problem som jo nok ikke kan løses her og nu er at en masse af navnene der skal på arkene og F1 er over 31 tegn. Det ved jeg ikke lige hvordan jeg undgår
Avatar billede lail Forsker
17. januar 2020 - 10:19 #8
store morten
Den laver arkene med F1 bliver ikke udfyldt

Hvad har du i A1???

LN
Avatar billede store-morten Ekspert
17. januar 2020 - 10:26 #9
Jeg sprang over hvor gærdet var lavest ;-)

Før kopiering:
Formel i F1 på Skabelon (Ark2)
=MIDT(CELLE("filename";A1);SØG("]";CELLE("filename";A1))+1;256)
Som giver: Fanenavn
Avatar billede lail Forsker
17. januar 2020 - 10:40 #10
Fanenavn kommer stadig ikke i F1
Avatar billede lail Forsker
17. januar 2020 - 10:41 #11
stor -mortne kan du springe over, hvor gærdet er lavest ;O)
Avatar billede store-morten Ekspert
17. januar 2020 - 11:02 #12
Ja, filen skal være gemt.
Avatar billede lail Forsker
17. januar 2020 - 11:10 #13
Det virker  - fejl 40 - iiiiigen ;O)

Hvor er det fantatisk

Mit dataark er en kube
Avatar billede lail Forsker
17. januar 2020 - 11:12 #14
shhhh store-morten - selvfølgelig skal den det ;O)))))
Avatar billede lail Forsker
18. januar 2020 - 08:10 #15
ha ha kunne være ret fedt at kunne slette arkene igen - for skabelonen ikke helt færdig. eller bare slette alle andre ark end IDD, Total og skabelon

Kar vist det du har lavet vidt og bredt i afd - tror de griner lidt af min begejstring ;O)),,
Avatar billede store-morten Ekspert
18. januar 2020 - 10:39 #16
Prøv:
Sub slet_faner()
'Sletter alle ark, untagen:
Dim ws As Worksheet
Application.DisplayAlerts = False
For Each ws In ActiveWorkbook.Worksheets
        If InStr("IDD", ws.Name) > 0 Or _
          InStr("Total", ws.Name) > 0 Or _
          InStr("skabelon", ws.Name) > 0 _
        Then
           
        Else
            ws.Delete
        End If
Next ws
Application.DisplayAlerts = True
End Sub
Avatar billede lail Forsker
18. januar 2020 - 13:55 #17
Hold nu liger op hvor er det fedt og tidsbesparende
Jeg SKAL bare lære det her.

TAAAAAK for 1000 gang
Avatar billede lail Forsker
18. januar 2020 - 13:57 #18
If InStr("IDD", ws.Name) > 0 Or _
          InStr("Total", ws.Name) > 0 Or _
          InStr("skabelon", ws.Name) > 0 _
        Then
            ?????

Then hvad????

Kan man bare skrive en tom line hvis den ikke skal gøre noget ved disse ark
Avatar billede store-morten Ekspert
18. januar 2020 - 14:31 #19
Ja, der skal jo ikke gøres noget, hvis Worksheet'et hedder: IDD, Total eller skabelon.

Ellers kan man gøre sådan:
Sub slet_faner()
'Sletter alle ark, untagen:
Dim ws As Worksheet
Application.DisplayAlerts = False
For Each ws In ActiveWorkbook.Worksheets
        If Not InStr("IDD", ws.Name) > 0 Or _
          Not InStr("Total", ws.Name) > 0 Or _
          Not InStr("skabelon", ws.Name) > 0 _
        Then
          ws.Delete
        End If
Next ws
Application.DisplayAlerts = True
End Sub
Avatar billede lail Forsker
24. januar 2020 - 14:25 #20
He he opgaven har taget om sig ;O)

Når jeg nu opretter alle de fine ark id fra en liste i kolonne B

Så er det faktisk et beregnet felt. hvor cellerne derned af også kan være tomme
Jeg vil gerne lade beregningerne køre ned til feks 400.

Selv om der for nogle områder kun vil være 5 punkter og andre 50.

Men den reagerer på de tomme celler og opretter et tomt ark efter skabelonenkan man få den til kun at oprette dem der ikke er tomme

LN
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
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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