Avatar billede atheist Nybegynder
05. september 2004 - 13:56 Der er 10 kommentarer og
1 løsning

indhentning af navn på faneblad

Jeg har et regneark med regnskab, hvor jeg har et ark for hver måned, og et der summerer op for hver måned. Når jeg skal lave en ny  kolonne med udgifter, indtægter osv. i summerings-arket, kopierer jeg den foregående. originalen hedder f.eks.: =okt04!D15, mens kopien bliver: =nov04!E15 kan jeg på en eller anden måde få den til at tage titlen på det sidste faneblad i stedet, og ændre den, samtidig med at ceele-reference er den samme?
Håber i forstår hvad jeg mener
Avatar billede atheist Nybegynder
05. september 2004 - 13:58 #1
rettelse:
Kopien kommer til at hedde:
=okt04!E15 (ikke =nov04!E15 som jeg skrev.)
Avatar billede uffe_kld Nybegynder
05. september 2004 - 14:01 #2
jeg ikke sikker på hvad du mener, men det er at du gerne vil have at D15 bliver ved med være D15. så prøv at sætte $ foran (=okt04!$D15).
Avatar billede atheist Nybegynder
05. september 2004 - 14:05 #3
ok, det jeg vil have den til, er at hente navnet på det faneblad der ligger sidst i rækken, og ændre DET i celle-referencen. Sådan at når jeg kopierer cellen, skifter den fra =okt04!D15 til =nov04!D15, pr. automatik
Avatar billede kabbak Professor
05. september 2004 - 15:49 #4
Via makro kan du, men det kræver at det sidste ark også er længst til højre, når du kikker på fanerne.

Maker de celler i den nye kolonne, du vil have regnskabet i,kør såmakroen, den kikker så på kolonnen før og laver ref. svarende til den, men med det sidste ark, som navn.

Makroen skal ligge i et modul.


Public Sub NæsteMåned()
Dim S As Variant, A As Integer, B As String, Ny As String
If ActiveSheet.Name = "Ark1" Then
    A = ThisWorkbook.Sheets.Count
    B = Worksheets(A).Name
For Each c In Selection
  If c.Offset(0, -1).HasFormula Then
    S = Split(c.Offset(0, -1).Formula, "!")
    Ny = "=" & B & "!" & S(1)
    c.Value = Ny
  End If
  Next
End If
End Sub
Avatar billede kabbak Professor
05. september 2004 - 15:58 #5
Public Sub NæsteMåned()
Dim S As Variant, A As Integer, B As String, Ny As String
If ActiveSheet.Name = "Ark1" Then' ret lige navnet til dit samleark
    A = ThisWorkbook.Sheets.Count
    B = Worksheets(A).Name
For Each c In Selection
  If c.Offset(0, -1).HasFormula Then
    S = Split(c.Offset(0, -1).Formula, "!")
    Ny = "=" & B & "!" & S(1)
    c.Value = Ny
  End If
  Next
End If
End Sub

ret lige navnet til dit samleark, det er fordi makroen kun må køre på dette ark
Avatar billede atheist Nybegynder
05. september 2004 - 17:01 #6
ok, lige to tillægsspørgsmål:
Jeg er kun vant til at indspille makroer i word, hvordan gør man lige hvis man sidder med sådan et script som du giver mig her?
Er der ikke nogen tutorials til excel et sted?
Avatar billede kabbak Professor
05. september 2004 - 17:03 #7
Når du højreklikker på fanen af et ark og vælg vis programkode
Kan du i venstre side se dine arknavne.

Oppe i menulinien vælger du
Insert > module

Nu kan du se ovre under arkene til venstre står Module1.

Se nu er Module1 makeret med grå baggrund, det er her den skal være
Avatar billede atheist Nybegynder
05. september 2004 - 17:07 #8
Det er bare smukt! Tusind tak for hjælpen!
Kaster du lige et svar?
Avatar billede kabbak Professor
05. september 2004 - 17:29 #9
Et svar, ;-))
Avatar billede atheist Nybegynder
05. september 2004 - 17:29 #10
fint nok.
Avatar billede kabbak Professor
05. september 2004 - 17:30 #11
Tak for 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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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