24. oktober 2007 - 23:10Der er
8 kommentarer og 1 løsning
automatisk dato til logbog
Jeg har brug for et vb-script som indsætter dags dato i næste tomme celle i en kolonne på et ark (kaldet:logbog), hver gang man genstarter regnearket.
Jeg er ved at lave et regneark til et aktiespil, hvor jeg godt ville have en automatisk logbog, som holder lidt styr på hvor tit de har åbnet regnearket. Den skal kun tilføje ny dato ikke flere af samme dato'er.
Jeg ved ikke så meget om macro'er, så jeg har også brug for anvisning til hvordan jeg knytter den til regnearket.
Sub workbook_activate() 'Udføres når filen åbnes Dim idag As Date idag = Format(Now, "dd-mm-yy") 'sætter dags dato
ActiveWorkbook.Sheets("logbog").Activate 'aktivere logbog With ActiveSheet For ræk = 1 To 65000 'tester celler If .Cells(ræk, 1) = idag Then Exit Sub 'hvis dags dato mødes - afbryd Else If .Cells(ræk, 1) = "" Then 'hvis cellen er tom - .Cells(ræk, 1) = idag 'indsæt dags dato Exit Sub 'afbryd End If End If Next ræk 'gentag gennemløbet, hvis ikke afbrudt End With End Sub
Dejligt med et bud - og ser ud til at kunne komme til at virke :)
(kan man få den til at skrive navnet på brugeren i cellen ved siden af?)
Men som jeg skriver ved jeg ikke rigtig hvordan jeg bruger det - kan du give lidt vejledning? Jeg har højre-klikket på et af fanebladene - og klikket 'vis programkode'. Dér har jeg kopieret teksten ind. Jeg har også aktiveret macro'er.
Og når jeg går ind og beder om at afspille macro'en, så virker den helt efter hensigten.
Men den bliver ikke automatisk afspillet når regnearket bliver startet op, hvordan kan jeg gøre det?
Rem Version 2 Sub workbook_activate() 'Udføres når filen åbnes Dim idag As Date idag = Format(Now, "dd-mm-yy") 'sætter dags dato bruger = Application.UserName 'henter brugernavn
ActiveWorkbook.Sheets("logbog").Activate 'aktivere logbog With ActiveSheet For ræk = 1 To 65000 'tester celler If .Cells(ræk, 1) = idag Then Exit Sub 'hvis dags dato mødes - afbryd Else If .Cells(ræk, 1) = "" Then 'hvis cellen er tom - .Cells(ræk, 1) = idag 'indsæt dags dato .Cells(ræk, 2) = bruger 'brugernavn Exit Sub 'afbryd End If End If Next ræk 'gentag gennemløbet, hvis ikke afbrudt End With End Sub
Selv tak. Jeg lægger dette som svar og det skal du vælge og acceptere.
Med hensyn til kursus så er der på nettet flere muligheder - prøv at søge efter VBA-kurser eller VBA-tutorial - så vil du se, at der er mange muligheder.
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.