16. februar 2006 - 20:08Der er
10 kommentarer og 1 løsning
Hvordan laver jeg en historik over en specik celle?
Hejsa!
Jeg er ny herinde og håber inderligt at der nogle som gider hjælpe mig med et irriterende problem.
Mit Problem:
Jeg har en specifik celle som løbende ændre sig(Gennemsnit af anskaffelsessumen på en beholdning), og jeg ønsker i den forbindelse at holde styr på disse ændringer. Jeg forestiller mig at ændringer i denne specifikke celle, øjeblikkeligt resultere i at værdien af den pågældende celle bliver ført over i et nyt ark. Dette ark kunne hedde " Gennemsnit" Disse ændringer skal posteres i en kolonne sammen med tid/dato/år, fra hvornår ændringen skete. På den måde kan jeg kigge tilbage i tiden og se hvad gennemsnittet har været. Jeg har prøvet at kigge tidligere spm. igennem, men synes ikke at jeg stødte på megen hjælp der.
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
Brynil -> Det kommer lidt an på hvordan man ser på det. Din metode virker fint hvis nogen ændrer i A1, men hvis A1 er en formel =MIDDEL(Omr) vil ingen ændre den. Derfor har jeg brugt WorkSheet_Calculate, og chekker for ændring i formelcellen ved hver calculation. Det er noget mere besværlig men virker :-)
1. Opret et almindeligt modul og indsæt dette
Public MyAverage As Double
Sub auto_open() MyAverage = Worksheets("Ark1").Range("E1") End Sub
2. I arket med gennemsnitsformlen indsættes dette i arkets eget kodemodul (højreklik på en arkfane og vælg "Vis programkode". Indsæt så dette.
Private Sub Worksheet_Calculate() Dim rng As Range If Range("E1") <> MyAverage Then MyAverage = Range("E1") Set rng = Worksheets("Gennemsnit").Range("A65535").End(xlUp).Offset(1, 0) rng = Date rng.Offset(0, 1) = MyAverage End If End Sub
"E1" skal ændres til din formelcelle og "Gennemsnit" skal ændres til det ark du ønsker at indsætte loggen i.
Jeg har programmeret en del i vba, men det typisk foregået med copy/paste:-) Jeg har kigget på et spørgsmål her i denne kategori "hvordan kan jeg se hvem der har rettet i et enkelt ark?" og deri troede jeg løsningen lå, men desværre. Før at programmet fangede ændringerne skulle de indtastet manuelt. Den celle som jeg ønsker at lave historik over, ændre sig jo på baggrund af andre faktorer og ikke ved manuel påvirkning så at sige....
Så er det testet! Jeg er meget imponeret, mange tak for hjælpen:-) Er det muligt at få et klokkeslæt sammen med dato og årstal? Det ville være perfekt..... Hvordan giver man dise point for øvrigt? medmindre at du heller vil have en kasse øl:-)
Jeg ved godt udemærket godt at det er på falderebet, men hvad nu hvis jeg gerne vil have den sidste ændring til altid at stå øverst i kolonnen? Jeg fusker med noget faldende sortering, men det går i ged hver gang der kommer nye poster ind i kolonnen....Er der en smart linie man kan skrive ind i Vba?
Håber at i vil bære over med mig:-)
Min nuværende bibel Sharon Podlin - Excel 2003- programmering med vba er ikke til megen hjælp i dette tilfælde....
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.