16. maj 2005 - 16:20Der er
14 kommentarer og 1 løsning
Makroen må ikke ændre tallet
Jeg har et antal timer (mange) fra forskellige Firmaer, der skal behandles på en bestemt måde.
Et lille eks.:
I Kolonne A står firmaets navn, i kolonne D står timerne for en fast opdateret periode (det kan f.eks. være fra uge 1-15).
I Kolonne P står firmaets navn (igen), Kolonne Q er der en (skal være en fast kopi af kolonne D, der i de næste 4 uger IKKE må ændres) kopi af kolonne D.
NU opdateres Kolonne D efter en uge, men Kolonne Q ændres sig også hvordan forhindre jeg det???
Jeg ønsker at opdater kolonne D2:D31 og der efter Minus med Kolonne Q2:Q31 og vise resultatet i (uge 1) Kolonne R2:R31.
Det skal gentages i uge 2 i Kolonne S, uge 3 i Kolonne T og uge 4 i Kolonne U.
En mulighed for at kolonne Q ikke opdateres når du opdater i kolonne D, er at lade opdateringen af kolonne Q ske ved hjælp af en makro, og så kun afspille makroen i de situationer, hvor kolonne Q faktisk skal ændres. Den øvrige del kan du lave med simple formler.
Jkrons Dine makroer funger fint, men der er et lille problem.
Når jeg har opdateret kolonne D kopier jeg den til Kolonne Q, som nu ikke må ændre i de næste f.eks. 4 uger, det funger fint.
Nu er der gået en uge, jeg opdater Kolonne D.
Ved hjælp af Makroen for uge 1. vises timer forbruget for uge 1., det funger fint.
Nu er der gået to uge, jeg opdater Kolonne D.
Ved hjælp af Makroen for uge 2. vises timer forbruget for uge 2., men det samme forbrug vises nu også i kolonnen R for uge1. selv om jeg ikke har opdateret uge 2.
Makronen indsætter en formel i uge 1, der fratrækker kolonne Q fra kolonne D. Når du opdaterer kolonne D, er det naturligvis de nye tal, der fratrækkes - også i uge 1.
Jeg har åbenbart misforstået problemet, for det, du har brug for er nok at der indsættes et resultat i cellen hver uge i stedet for en formel.
Prøv med denne i uge 1, og foretag så de samme rettelser med hensyn til offset, som beskrevet tidligere:
Sub Uge1()
For Each c In Range("D2:d31").Cells a = c.Value b = c.Offset(0, 13).Value
Uge 2 viser forbruget af timer i uge 2, men viser også forbruget af timerne i uge 1.
Uge 3 viser forbruget af timer i uge 3, men viser også forbruget af timerne i uge 1 og 2.
Uge 4 viser forbruget af timer i uge 4, men viser også forbruget af timerne i uge 1, 2 og 3.
Jeg tror ikke, jeg har været særlig god til at forklare mit ønske, men jeg vil kun have de timer der er udført i: uge 1 vist i uge 1 uge 2 vist i uge 2 uge 3 vist i uge 3 uge 4 vist i uge 4
Så tror jeg simpelthen ikke jeg forstå. hvad du mener. Har du evt. m,ulighed for at sende et eksempel opå arket til kronsell snabela adslhome punktum dk?
Jeg ved ikke om følgende løsning er optimal, det er hvad jeg kan klare med mit ringe kendskab til Makro.
Timerne i kolonne D2:D31 kopiers og indsæt speciel i Q2, vælg Værdier og klik OK. Nu vil Q2:Q31 ikke ændres når du opdater kolonne D.
Jeg ved ikke om du har plads, ellers må du rykke kolonnerne. Når du har opdateret kolonne D, efter en uge, kopiers (de nye timer) timerne i D2:D31 og indsæt speciel i kolonne P2, vælg Værdier og klik OK. Nu vil P2:P31 kun ændres når du henter NY opdater kolonne D igen..
Nu skal vi have vist resultatet for den første uge. Du må stadig rykke hvis mit kolonne valg i passer.
I R2 skrives: =P2-Q2, derefter vælges indtast, nu trækkes R2 ned til R31 derefter kopieres området, Klik på R2 og vælg indsæt speciel i R2, vælg værdier og klik OK.
Når anden uge opdateres gentages R2 i S2, T2 og U2.
Jeg har indspillet 6 små Makroer der virker, men de er lidt ””TUNGE”” så jeg håber nogle af dem der er gode til Makro kommer på banen.
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.