Avatar billede kel007 Nybegynder
21. marts 2013 - 08:07 Der er 10 kommentarer

Excel - Generering af underark med navn og automatisk oprettelse af "områdenavn"

Hjælp søges!

Jeg skal bruge et excelark, hvor brugeren har mulighed for at vælge opret nyt underark og give det et navn fx. leverandør1.

Arket der oprettes skal være efter en skabelon og der skal være flere områder i arket der automatisk får et "områdenavn" fx. "A4"="leverandør1_fakturering%"

Yderligere skal der på et samleark oprettes en post og henvises til de valgte "områder" i mit nye underark.

Er det en kæmpe kode der skal til, for at dette kan lade sig gøre? - Evt. er der en der kan pege mig lidt i den rigtige retning til at starte med, det er lang tid siden jeg har arbejdet med VB.
Avatar billede supertekst Ekspert
21. marts 2013 - 08:55 #1
Ikke nødvendigvis en kæmpekode - men lidt skal der til.

Er der et skabelon ark, der kan kopieres og navgives til det ønskede?
Avatar billede kel007 Nybegynder
21. marts 2013 - 09:22 #2
Ja præcis. Det er det samme ark der skal ligge gentagende gange.

f.eks. leverandør 1, leverandør 2,leverandør 3 osv.

Jeg havde forestillet mig en inputbox hvor bruger skriver det ønskede navn, som så bruges både i arknavn, områdenavn og navn på samleside (sumside)
Avatar billede kel007 Nybegynder
21. marts 2013 - 09:24 #3
Skabelon arket kan f.eks. bare ligge som det sidste i rækken og hedde kladde eller lign.
Avatar billede supertekst Ekspert
21. marts 2013 - 09:42 #4
Har du en model af ønskede - så er du velkommen til at sende den - så skal jeg lægge koden ind.
@-adresse under min profil
Avatar billede supertekst Ekspert
21. marts 2013 - 10:18 #5
Har en færdig model med VBA-kode som du kan få, hvis du sender en mail.
Ark1: Skabelon
Ark2: SamleArk
Leverandør ark oprettes herefter

VBA-koden ser således ud og er anbragt i ThisWorkbook:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

Rem dobbelklikkes der på ark "Skabelon" i celle A1 - så..:

    If Sh.Name = "Skabelon" And Target.Address = "$A$1" Then
        arknavn = InputBox("Indtast ønskede arknavn:", "Oprettelse af leverandør-ark")
        If arknavn <> "" Then
Rem Opret nyt ark med ønskede navn
            Sheets("Skabelon").Select
            Sheets("Skabelon").Copy After:=Worksheets(Worksheets.Count)
            ActiveSheet.Name = arknavn
           
            Range("A3") = arknavn
            Range("A7") = arknavn
            Range("A10") = arknavn
           
Rem opret leverandøren i samleark - indsæt navn i 1. tomme trække
            Sheets("Samleark").Activate
            Range("A" & findTomRække) = arknavn
        End If
    End If
End Sub
Private Function findTomRække()
Dim ræk As Long
    For ræk = 1 To 65000
        If Range("A" & ræk) = "" Then
            findTomRække = CStr(ræk)
            Exit Function
        End If
    Next ræk
End Function
Avatar billede supertekst Ekspert
22. marts 2013 - 08:27 #6
Kunne det anvendes?
Avatar billede supertekst Ekspert
27. marts 2013 - 15:15 #7
Intet nyt - godt nyt - derfor et svar
Avatar billede larsmobil Nybegynder
12. december 2013 - 14:47 #8
er det muligt at få en kopi af ark med kode ?

på mail: ls(@)logviaos.dk
Avatar billede supertekst Ekspert
12. december 2013 - 15:51 #9
Jeg har ikke filen mere.
Avatar billede larsmobil Nybegynder
12. december 2013 - 16:17 #10
ok

er det let at sætte ind i et nyt ark ?
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
Kurser inden for grundlæggende programmering

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