02. maj 2001 - 10:26Der er
8 kommentarer og 1 løsning
Excel: Ændre format for kolonne
Jeg har en fil i xls-format. Det jeg ønsker er at der automatisk, f.eks hvert 5 min, bliver foretaget en formatering af dataformatet i en bestemt kolonne (den første). Formatet skal ændres til datoformatet \"dd-mm-åå tt:mm:ss\".
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.
Der er ingen grund til at gentage formateringen hvert 5. minut, med mindre du skulle ændre det ind i mellem - det du ønsker er nok, at cellen opdateres med aktuelt minutter og sekunder - right ?
Det vil kræve, at der HELE tiden skal køre en makro, og inden der skal gemmes eller lukkes, så skal denne makro afbrydes - det vil så enten være manuelt eller efter et specifikt tidsrum.
At gemme det aktuelle ark som CSV er ikke noget problem - du kan selv optage en makro, som gør det. Vælg Funktioner / Makro / Indspil ny makro Udfør den handling, som skal til for at gemme som CSV og stop makrobåndoptageren.
Du skal være opmærksom på, at denne makro altid vil gemme CSV-filen i det samme bibliotek med det samme navn.
Lad se, hvad du siger til ovenstående, så kan jeg evt. se på det igen.
Filen der skal ændres opdateres af en anden komponent, og data bliver dermed ændret. En helt anden komponent tager så csv-filen og gemmer i en SQL-database.
Det jeg så skal lave er en komponent der foretager de nævnte ændringer.
Jeg har lavet den nævnte makro, men jeg ved ikke lige hvordan jeg skal få den til at køre hvert 5. min.
Der skal vel også være et tjek på om filen er åbnet af en anden komponent, inden jeg foretager ændringen.
Hvis kan smide data ind i Excel fra en anden komponent, så kan du også formatere cellen fra denne komponent. Du kan smide en kommando alla denne her [A1].NumberFormat = \"dd/mm/yy hh:mm:ss\" umiddelbart efter at har indsat værdien i \"A1\".
Problemet er at jeg ikke har adgang til at ændre i de andre komponenter, så udgangspunktet er at jeg har en fil i xls-format og mit output skal være en csv-fil.
Derudover skal der foretages en formateringen af dataformatet i en af kolonnerne.
Den komponent jeg laver skal være uafhængig af de øvrige.
Får du en ny fil hver dag eller er det en gammel CSV fil, som åbnes hver dag ? - det giver forskellig problemstillinger.
Det er noget alla dette her, som du skal have fat i, og det skal placeres i modulet ThisWorkbook. Det forudsætter, at du åbner den samme CSV fil hver dag.
Private Sub Workbook_Open() Dim vStartTid As Variant vStartTid = Format(Now, \"hh:mm:ss\") Debug.Print vStartTid
Do Until Format(Now, \"hh:mm\") = \"17:30\" If Format(Now, \"mm\") Mod 5 = 0 Then Range(\"A:A\").NumberFormat = \"dd/mm/yy hh:mm:ss\" ActiveWorkbook.Save End If Loop ThisWorkbook.Saved = True Application.Quit End Sub
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.