Gå til innhold

[EXCEL] Opprette nytt ark(sheet) ved å trykke på en knapp i excel arket?


sdf123

Anbefalte innlegg

Hei,

 

Jeg har et Excel dokument hvor jeg ønsker å kunne trykke på en knapp for å opprettet et nytt ark. Det nye arket vil jeg skal være et ark som jeg har forhåndslaget, men noen av cellene vil jeg at skal endre seg fra hvert nye ark som blir opprettet. Ønsker også at arkene som blir opprettet skal få et nytt navn.

 

Så trykker jeg på knappen: Opprett nytt ark.

Så blir det automatisk laget et ark som feks heter: Nr2

Og de cellene i arket vil automatisk få inn den nye verdien i cellene som jeg har spesifisert.

 

Neste gang man trykker på knappen Opprett nytt ark

Så vil det komme et nytt ark bak Nr2, som heter Nr3.

 

Noen som kan forklare meg hvordan jeg gjør det?

 

Lenke til kommentar
Videoannonse
Annonse

Hei

 

En god start er å spille inn en makro mens man utfører oppgaven for hånd:

Sub Macro1()
'
' Macro1 Macro
'

'
    Sheets("Mal").Select
    Sheets("Mal").Copy After:=Sheets(1)
End Sub

Etter litt frisering likner den på noe av det du spør om:

Sub Test()
Sheets("Mal").Copy After:=Sheets(Sheets.Count)
DoEvents
Worksheets(Sheets.Count).Name = "Arket" & Sheets.Count
Worksheets(Sheets.Count).Range("B3").Value = "Dette er ark nummer " & Sheets.Count
End Sub

Håper det får deg i gang.

Beste hilsen Harald

Lenke til kommentar

Supert!

Sub Test()
Sheets("Mal").Copy After:=Sheets(Sheets.Count)
DoEvents
Worksheets(Sheets.Count).Name = "Arket" & Sheets.Count
Worksheets(Sheets.Count).Range("B3").Value = "Dette er ark nummer " & Sheets.Count
End Sub
  1. Jeg ønsker at Mal skal bli kopiert inn mellom Arket1 og Arket150, den skal sjekke hvilket tall som er ledig etter Arket1 og bruker det, så i dette tilfellet ville det blitt Arket2, og plassert den etter Arket1.
  2. Celle B3 skal hente data fra en celle i et annet ark, for Arket1 skal den hente data i celle 7 på arket oversikt. Så for Arket 2 skal den hente i celle 8, Arket3 henter i celle 9 osv.. 

 

Jeg har prøvd å redigere det du skriver og har fått til noen småting, men de 2 punktene over får jeg ikke til. Kan du hjelpe meg på vei?

Lenke til kommentar

La oss starte her, opprette Arket3 og legge det etter Arket2 (som må eksistere for at dette skal virke):

Sub Test2()
Dim i As Long
i = 3 'denne forutsetter at arket Arket2 eksisterer
Sheets("Mal").Copy After:=Sheets("Arket" & i - 1)
DoEvents
Worksheets("Arket" & i - 1).Next.Name = "Arket" & i
Worksheets("Arket" & i).Range("B3").Value = Sheets("oversikt").Range("A" & i + 6).Value
End Sub

Hvordan vet vi hva tallet i skal være, og hvordan vet vi det neste gang? En mulighet er å lagre sist brukte i ett eller annet sted. En annen er å telle oppover og sjekke om Arket i eksisterer eller ikke.

 

Beste hilsen Harald

Endret av Harald Staff
Lenke til kommentar

Hei igjen,

 

Prøvde denne nå, og første gang man trykker Ny bruker så fungerer det.

Når jeg trykker en gang til, får jeg opp en feilmelding om at Dette navnet allerede er i bruk, og så lager den bare et ark som heter mal2

 

Jeg forsket litt videre selv, og fant en litt annen måte å gjøre det på, som ser ut som fungerer:

 

Sub Test2()
Dim nyBruker As Variant
nyBruker = InputBox("Hvilken bruker skal opprettes?")
Sheets("Mal").Copy After:=Sheets("Arket" & nyBruker - 1)
DoEvents
Worksheets("Arket" & nyBruker - 1).Next.Name = "Arket" & nyBruker
Worksheets("Arket" & nyBruker).Range("B3").Value = Sheets("oversikt").Range("A" & nyBruker + 6).Value
End Sub
Lenke til kommentar

Hei igjen

 

Ja Excel tillater ikke to ark med samme navn, det er derfor variabelen i ikke kan være det samme flere ganger i den opprinnelige koden. Du får samme feilen hvis du taster inn et tall i inputbox'en som har vært brukt tidligere. Så som nevnt, enten lagre sist brukte tall et sted, eller sjekke om arket allerede finnes.

 

Beste hilsen Harald

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...