04. juli 2014 - 15:57Der er
8 kommentarer og 1 løsning
Bruge VBA kode til at danne nye faner navngivet med dato...
Hej... har søgt lidt for at finde noget der kunne hjælpe...men uden held. Jeg har et Excel 2013 regneark som jeg bruger til døgnrapportering. Det er lavet sådan at der er en fane for hver arbejdsdag i måneden. Indtil nu har jeg siddet og lavet hver måned på "den hårde måde",- altså omdøbe hver eneste fane med en dato. Findes der er VBA kode som kan lave 31 faner med dato fra 1 til 31 ?
I samme ark skal jeg have nogle celler til at gentage den tekst jeg skriver i dem på en anden fane i andre celler... Hvordan gør man det...? (Undskyld..skal jeg oprette et separat spørgsmål til det ?)
Er ikke grøn...men bestemt heller ikke ekspert,- så enhver hjælp vil gøre glæde.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Du kunne nemt optage at du opretter 31 faner og så navngiver dem 1-31.
At få celler til at have samme indhold er bare = og så vælg den celle som din værdi står i - altså f.eks. "=fane1!B7" hvis indholdet skal matche B7 i fane1.
Det havde jeg også tænkt på... Men så får jeg jo den samme måned hver gang... hver fane skal se således ud; 04.07.14 f.eks. Hvis jeg blot laver en alm. makro..så bliver det jo Juli igen næste gang, hvor jeg skal bruge August...osv.
Tippet med = var lige det rigtige...nogen gange kan man ikke se skoven for bare træer... :-)
Jeg bruger VBA for første gang...og selve kode sproget kender jeg ikke. Jeg ved ikke lige hvad jeg skulle sætte ind som erstatning for "today" når jeg skal lave en hel måned på forhånd. Jeg sender skemaet ud til mine brugere en gang pr. måned.
Her er en simpel løsning der laver det antal faneblade der er i den nuværende måned. Betegnelsen viste sig at være Now og ikke today(). Desværre er jeg ikke selv stiv nok i at få den til at fjerne de faneblade du har i forvejen (f.eks. de tre der som standard ligger).
Derudover navngiver den kun med 1, 2, 3 og så videre - Hvis du ønsker decideret datoer skal du i linjen med sheets.name gøre yderligere (tilføje noget i stil med i & Month.name(now) tror jeg.
Det kan være der er en som er skarpere end jeg der an hjælpe yderligere - måske finpudse så vbaen sletter eksisterende ark.
Option Explicit
Sub Tilføj_faneblade() ' Definer dine variable Dim IntDage As Integer Dim i As Integer ' Antal dage i nuværende måned IntDage = DateSerial(Year(Now), _ Month(Now) + 1, 1) - _ DateSerial(Year(Now), Month(Now), 1) ' Laver det antal faneblade du har bedt om For i = 1 To IntDage ActiveWorkbook.Sheets.Add After:=Sheets(Sheets.Count) ' Navngiver hvert faneblad Sheets(i).Name = i Next i End Sub
Ja...se så er vi jo næsten ved at være der...det er som sagt blot selve datoen der skal stå på arket. Jeg prøver lige at lege videre og læse lidt op på VBA. Hvis jeg kører fast, kan jeg altid komme igen...
Tusind tak for hjælpen Kim1a...det var gode tips og nyttig kode.
Ingen problem, bare der bliver lukket :-) Hvis du orker vil det være fedt at du ligger koden herind, så andre evt kan drage fordel af dit hårde arbejde :-)
Hmmm... Det ville jeg gerne,- men jeg har ikke fundet en løsning på at få koden til at navngive hver enkelt fane med en dato.
Så den skal forsat rettes manuelt... Men du gav gode tips og input Kim1a.
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.