Indsæt nye ark på grundlag af indhold i celler

Denne makro indsætter et antal nye ark. Brugeren markerer et celle område, og for de celler i området, hvor cellerne ikke er tomme, indsættes et nyt ark i mappen, med cellens indhold som navn. Indeholder en celle en formel, er det formlens værdi, der bliver navn til arket. Findes der allerede et ark, der hedder det samme som et af de potentielt nye ark, stopper makroen ved dette ark, viser en fejlmeddelelse, og man må så selv rette celleindholdet til et, der ikke eksisterer som arknavn - alternativt undlade at markere den pågældende celle.

 

Sub NyeArk()
    On Error GoTo fejl
    For Each c In Selection.Cells
        sname = c.Value
        If Not IsEmpty(c) Then
            Sheets.Add
            ActiveSheet.Move after:=Sheets(Sheets.Count)
            ActiveSheet.Name = c.Value
        End If
    Next c
    Exit Sub

fejl:

    If Err.Number = 1004 Then
        MsgBox "Mindst et af de ark, du prøver at oprette eksisterer allerede" & vbCrLf & _
        "Ret fejlen og prøv igen", vbOKOnly + vbCritical
        Application.DisplayAlerts = False
        ActiveSheet.Delete
        Application.DisplayAlerts = True
    End If
End Sub

- Retur til makroer -
- Retur til Excel -