Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A1")) Is Nothing Then ActiveSheet.Name = Cells(1, 1).Value End If End Sub
Den ændrer navnet på fanebladet hver gang der skrives i A1
Sub makeWsnames() Dim ws As Worksheet For Each ws In Worksheets ws.Select If ws.Range("A1") <> "" Then ws.Name = Range("A1") Next ws End Sub
Den skal ligge i et almindeligt kodemodul. Den opretter navnet på fanebladet hvis A1 indeholder "noget" DU skriver "simpel" - men for ikke at fejle bør koden endvidere checke at den fx. ikke forsøger at oprette samme navn 2 gange.
Det er lidt forskelligt hvordan man gør det alt efter Excelversion...
I Excel 2003 skal du vælge Funktioner > Indstillinger > og Fanebladet "sikkerhed". Her skal du klikke på knappen "makrosikkerhed" og på fanebladet "sikkerhedsniveau" markere "lav" eller "mellem".
I Excel 2007 skal du Klikke på Makrosikkerhed i gruppen Kode under fanen Udvikler.
Klik på "Aktiver alle markoer...." under Makroindstillinger i kategorien Makroindstillinger.
Tip! Hvis fanen Udvikler ikke vises, skal du klikke på Microsoft Office-knappen , klikke på Excel-indstillinger og derefter klikke på Vis fanen Udvikler på båndet under Vigtigste indstillinger for arbejde med Excel i kategorien Populær.
Hvad så hvis denne makro skal fungere for alle faner, men ikke det første? Jeg har et samleark, som det første ark, og derefter en masse faner, som jeg gerne vil have bliver navngivet ud fra en celleværdi. Men ikke samlearket.
Mvh Mia
Synes godt om
Ny brugerNybegynder
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.