Dansk Regneark Forum
  Hjælp Hjælp  Søg i forum   Arrangementer   Opret ny bruger Opret ny bruger  Log ind Log ind


Emne lukketProblem med dynamisk fane navn

 Besvar Besvar
Forfatter
Guests Se dropdown
Gæst
Gæst
Direkte link til dette indlæg Emne: Problem med dynamisk fane navn
    Sendt: 10.Nov.2010 kl. 11:58
Hej til jer
 
Jeg arbejder med en større excel model med 40-50 faner, disse faner skal have samme navn som i celle I1 i arket. Cellen I1 består af en opslået værdi og noget tekst så den kunne hedde "Sony_Okt" hver af disse faner henter det ønskede fanenavn fra en navngivet område i et inddata ark. Jeg har prøvet at forsimple koden til et minimum, men får stadig fejlkoden: "1004 Et ark kan ikke omdøbes til at have samme navn som et andet ark, referenceobjekt eller en Visual Basic Mappe"
 
Jeg kan godt forstår hvad der menes med fejlen, men jeg kan bare ikke finde den for jeg har sikret mig at ingen af fanerne kommer til at hedde det samme.
 
Navnet skulle gerne være I1 på alle ark formlen i I1 hedder =A2&" "&M1
 
Tænker om man kan lave en form for fejlsikring?
 
Her er min kode:
 
Sub Take4()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Sheets
    With ws
    .Name = .Range("I1").Value
    End With
Next ws
End Sub
 
 
Håber der er en som kan hjælpe da jeg kigget mig omkring på nettet efter alternativer. Det ville spare mig for en masse tid ikke at skulle lave "dumme arbejde" ved manuelt at omdøbe faner hver måned.
 
Mvh.
 
Til top



Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 10.Nov.2010 kl. 13:20
Hej,
 
Din kode fejler som sådan ikke noget, den kører fint her.
Problemet er som du selv nævner det, at flere ark ikke kan hedde det samme.
 
Du kan prøve at bruge denne kode, som vil fortælle dig navnet på det/de ark som fejler:
 
Sub Take4()
Dim ws As Worksheet
On Error GoTo Fejl
For Each ws In ActiveWorkbook.Sheets
    With ws
    .Name = .Range("I1").Value
    End With
Next ws
Exit Sub
Fejl:
MsgBox "Koden fejlede på: " & ws.Name, vbCritical
End Sub
 
Alternativt, hvis du 'bare' ikke ønsker at se fejlen, men blot ved undlade at omdøbe ark som kommer til at hedde det samme, kan du bruge denne kode:
 
On Error Resume Next
 
Sub Take4()
Dim ws As Worksheet
On Error Resume Next
For Each ws In ActiveWorkbook.Sheets
    With ws
    .Name = .Range("I1").Value
    End With
Next ws
End Sub
 
//Allan
Til top
 Besvar Besvar

Skift forum Forum tilladelser Se dropdown

© 2010 - 2024 Dansk Regneark Forum - en del af Excel-regneark.dk