Avatar billede perhol Seniormester
04. marts 2010 - 22:47 Der er 3 kommentarer og
1 løsning

Hent navne og fødselsdatoer fra andet ark

Jeg har lavet en Excelfil, i Excel 2003, der bruges til at opregne timeforbrug for indtil 24 forskellige personer.
Ved hjælp af kode oprettes der selvstændige ark for hver person, hvert ark navngives i fanen med personens navn.
Navnene hentes fra en liste over navne og fødselsdage, F4:F27, i arket Beboer-Oversigt.
Det virker som det skal (bortset fra at arkene optræder i omvendt orden i forhold til listen?).
Jeg bruger denne kode:

Sub CommandButton1_Click()
    Call CreateWorksheets(Sheets("Beboer-Oversigt").Range("F4:F27"))
End Sub

Private Sub CreateWorksheets(Names_Of_Sheets As Range)
Application.ScreenUpdating = False
    Dim Sheet_Name As String
    Dim i As Integer
    No_Of_Sheets_to_be_Added = Names_Of_Sheets.Rows.Count
    For i = 1 To No_Of_Sheets_to_be_Added
        Sheet_Name = Names_Of_Sheets.Cells(i, 1).Value
        'Opret kun ark hvis det ikke findes i forvejen og navnet er længere end nul karakterer
        If (Sheet_Exists(Sheet_Name) = False) And (Sheet_Name <> "") Then
            Sheets("Skabelon").Copy Before:=Sheets(1)
            ActiveSheet.Name = Sheet_Name
            ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
            Application.GoTo Reference:=Worksheets(Sheet_Name).Range("B3"), _
            Scroll:=False
    End If
    Next i
    Sheets("Beboer-Oversigt").Move Before:=Sheets(1)
    Application.ScreenUpdating = True
    Application.GoTo Reference:="Hjem"
End Sub


Hvert oprettet ark skulle gerne have personens navn og fødselsdato som overskrift.
Hvordan gør jeg det?
Avatar billede kabbak Professor
04. marts 2010 - 23:02 #1
For i = 1 To No_Of_Sheets_to_be_Added

laves om til

For i = No_Of_Sheets_to_be_Added to 1 step -1
Avatar billede kabbak Professor
04. marts 2010 - 23:18 #2
Public Sub CreateWorksheets(Names_Of_Sheets As Range)
    Application.ScreenUpdating = False
    Dim Sheet_Name As String
    Dim i As Integer
    No_Of_Sheets_to_be_Added = Names_Of_Sheets.Rows.Count
    For i = No_Of_Sheets_to_be_Added To 1 Step -1
        Sheet_Name = Names_Of_Sheets.Cells(i, 1).Value
        'Opret kun ark hvis det ikke findes i forvejen og navnet er længere end nul karakterer
                If (Sheet_Exists(Sheet_Name) = False) And (Sheet_Name <> "") Then
        Sheets("Skabelon").Copy Before:=Sheets(1)
        ActiveSheet.Name = Sheet_Name
       
        Worksheets(Sheet_Name).Range("A1") = Sheet_Name ' "Beboer-Oversigt" F kolonne
        Worksheets(Sheet_Name).Range("B1") = Names_Of_Sheets.Cells(i, 1).Offset(0, 1) ' "Beboer-Oversigt" G kolonne

        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        Application.GoTo Reference:=Worksheets(Sheet_Name).Range("B3"), _
                        Scroll:=False
        '    End If
    Next i
    Sheets("Beboer-Oversigt").Move Before:=Sheets(1)
    Application.ScreenUpdating = True
    Application.GoTo Reference:="Hjem"
End Sub
Avatar billede perhol Seniormester
05. marts 2010 - 00:42 #3
Egentlig vidste jeg godt det der med Step -1, jeg vidste bare ikke at jeg vidste det ;b)

Som sædvanlig har du løst mit problem.

Læg et svar.
Avatar billede kabbak Professor
05. marts 2010 - 08:01 #4
Et svar ;-))
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