Avatar billede fastwrite Nybegynder
03. oktober 2001 - 13:31 Der er 16 kommentarer og
4 løsninger

Excel - skrive sheetname i en celle

Hej.
Jeg har et faneblad eller en sheet der hedder UGE41, hvordan kan jeg i celle a4, fx. få den til at skrive UGE41. Jeg troede man blot kunne lave en =sheetname - men SÅ enkel er Excel heller ikke :o)
Avatar billede janvogt Praktikant
03. oktober 2001 - 13:37 #1
Næsten ......

Brug denne kode:

MsgBox \"The name of the active sheet is \" & ActiveSheet.Name
Avatar billede mile Juniormester
03. oktober 2001 - 13:39 #2
Prøv at lave denne makro

Sub Makroarknavn()


For a = 1 To Worksheets.Count
Worksheets(a).Range(\"a4\").Value = Worksheets(a).Name

Next
End Sub
Avatar billede lrp Nybegynder
03. oktober 2001 - 13:39 #3
Denne makro kan gøre det:

Sub SkrivArknavn()
  Range(\"a4\").Value = ActiveSheet.Name
End Sub
Avatar billede janvogt Praktikant
03. oktober 2001 - 13:39 #4
Eller hvis den skal indsættes i celle A4:

[a4] = ActiveSheet.name
Avatar billede mile Juniormester
03. oktober 2001 - 13:40 #5
Nå for hunde, der var vi vist da aktive allesammen.
Avatar billede janvogt Praktikant
03. oktober 2001 - 13:44 #6
Det må også kunne lade sig gøre uden brug af makro, altså med en simpel Excel formel.
Så skal vi have fat i CELLE-kommandoen.
Avatar billede fastwrite Nybegynder
03. oktober 2001 - 13:47 #7
janvogt - når jeg skriver =activeSheet.name skriver den blot Type Mismatch (det skal lige siges at det er en engelsk version af Excel jeg har)

Jeg er ikke helt stiv i det her. Hvad præcist skal jeg gøre. Skal jeg ind i visual basic? Hvordan får jeg den til at skrive resultatet på celle a4?
Avatar billede janvogt Praktikant
03. oktober 2001 - 13:48 #8
CELLE henter hele stien, så den bliver lidt kryptisk:

=MID(CELL(\"filename\";A5);FIND(\"]\";CELL(\"filename\";A5))+1;LEN(CELL(\"filename\";A5))-FIND(\"]\";CELL(\"filename\";A5)))
Avatar billede admss Nybegynder
03. oktober 2001 - 13:48 #9
Hej

=CELLE(\"filnavn\";A1)

duer ikke helt, men....

admss
Avatar billede lrp Nybegynder
03. oktober 2001 - 13:52 #10
Ja, det er i Visual Basic, det foregår. Et lille tip: Hvis du opretter makroen i det kodeark, der hedder \"ThisWorkbook\" og kalder den for \"Workbook_Open\", så vil makroen automatisk køre, når du åbner Excel-filen.
Avatar billede janvogt Praktikant
03. oktober 2001 - 13:52 #11
Alt med ActiveSheet har noget med Visual Basic at gøre.

Men ovenstående formel kan indsættes direkte i celle.

På dansk er:
MID = MIDT
LEN = LÆNGDE
FIND = FIND
\"filename\" = \"filnavn\"

Der hvor der står A5 skal bare være et eller andet sted i arket.

Jeg kan sende den til dig .....
Avatar billede fastwrite Nybegynder
03. oktober 2001 - 13:53 #12
Jeg ved ikke om vi er kommet lidt væk fra sporet..

Jeg har et faneblad - det faneblad hedder fx uge41.

I min celle, fx a5 vil jeg gerne kunne skrive hvad dette faneblad hedder. Jeg kan ikke bruge en =activesheet.name - for den skriver blot TYPE MISMATCH..

Hvad gør jeg så?
Avatar billede admss Nybegynder
03. oktober 2001 - 13:53 #13
janvogt:

På dansk

=MIDT(CELLE(\"filnavn\";A5);FIND(\"]\";CELLE(\"filnavn\";A5))+1;LÆNGDE(CELLE(\"filnavn\";A5))-FIND(\"]\";CELLE(\"filnavn\";A5)))

Godt at lære lidt!

mvh/admss
Avatar billede janvogt Praktikant
03. oktober 2001 - 13:54 #14
>> admss
Min version af CELLE-formlen skulle være anvendelig.
Avatar billede admss Nybegynder
03. oktober 2001 - 14:04 #15
Selvfølgelig!

Jeg oversatte den bare til dansk så den ikke gav fejl i mit excel-program.

admss
Avatar billede fastwrite Nybegynder
03. oktober 2001 - 14:08 #16
janvogt - hvis du vil sende den til

thomas.skipper@unilever.com

så vil jeg kigge på den.

Men tak for alle.. sikke en hurtig respons fra alle!! Jeg har sikkert en millard andre spørgsmål omkring Excel!

Avatar billede janvogt Praktikant
03. oktober 2001 - 14:08 #17
>>> admss
Jeg nåede ikke at se din oversættelse inden jeg skrev mit kommentar ;-)

Jeg har forresten engang lavet et eksempelark, som viser hvordan man kan vride og dreje CELLE-formlen i forbindelse med fil-stien.

Interesserede kan sende mig en mail.
Avatar billede fastwrite Nybegynder
03. oktober 2001 - 14:17 #18
Nu har jeg fundet ud af det... jeg gik i design mode, valgte min celle, og tog view code, derefter skrev jeg følgende:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Range(\"c1\").Value = ActiveSheet.Name
End Sub

ok - den skulle være på C1 og ikke på a4 - whatever :o)

Men tak til alle.. jeg giver jeg ligelige point.

Avatar billede xelor Nybegynder
03. oktober 2001 - 19:13 #19
En anden mulighed er at oprette din egen lille function:
I et modul oprette du følgende function:

Function WriteShtName() As String
    WriteShtName = ActiveSheet.Name
End Function

Efterfølgende kan du så fremkalde arkets navn ved at skrive =WRITESHTNAME() i den celle, hvor du vil have navnet til at stå....
Avatar billede fastwrite Nybegynder
05. oktober 2001 - 08:58 #20
Hov. jeg har ikke fået givet jer point!! I fortjener alle sammen point, fordi I alle har svaret med noget konstruktivt.. Jeg HAR fundet ud af det, takket være janvogt... så han fortjener flest point...

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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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