leistr Skrevet 20. september 2006 Skrevet 20. september 2006 Har trøbbel med at en makro som kopierer en formel fra ei celle til ei anna (ingen av de er låst) oppfører seg forskjellig : a) etter åpning av regnarket kopierer den formelen (fra cellen M18 der formelen er =$D$17) og gir da som resultat at formelen også kommer dit den skal (i D18) b) etter å ha lagret regnarket kopieres ikke formelen, men kun det tallmessige resultatet av formelen til D18 Application.CutCopyMode = False Range("M18").Select Selection.Copy Range("D18").Select ActiveSheet.Paste Hvorfor gjør den dette? Har sjekket på flere PC'er. (Excel 2003). Tips til å unngå b) ?
ravika Skrevet 20. september 2006 Skrevet 20. september 2006 (endret) Hvorfor gjør den dette? Har sjekket på flere PC'er. (Excel 2003).Tips til å unngå b) ? 6900845[/snapback] Testet koden din nettopp i Excel 2003 men finner ingen feil. Macroen fungerer prikkfritt hver gang... EDIT: Sikker på at du ikke har noen annen kode som kjøres samtidig ved lasting som eventuellt overskriver? Virker rart at du får forskjellig resultat med samme kode på forskjellige tidspunkt... Endret 20. september 2006 av t0my
Harald Staff Skrevet 21. september 2006 Skrevet 21. september 2006 Ingenting feil med koden her heller. Annet enn at markøren, valgt celle, flytter seg. Det er forsinkende og lite brukervennlig. Du bør gjøre det slik istedet: Range("M18").Copy Range("D18") men allerhelst slik hvis du bare skal flytte formelen og ikke formatet og alt det andre: Range("D18").FormulaR1C1 = Range("M18").FormulaR1C1 HTH. Beste hilsen Harald
leistr Skrevet 21. september 2006 Forfatter Skrevet 21. september 2006 Ingenting feil med koden her heller. Annet enn at markøren, valgt celle, flytter seg. Det er forsinkende og lite brukervennlig. Du bør gjøre det slik istedet:Range("M18").Copy Range("D18") men allerhelst slik hvis du bare skal flytte formelen og ikke formatet og alt det andre: Range("D18").FormulaR1C1 = Range("M18").FormulaR1C1 HTH. Beste hilsen Harald 6907817[/snapback] Dette er rart. I cella D17 har jeg følgende formel: =$D$10+$D$11-$D$12-$D$13-$D$14-$D$15-$D$16 og i cella D18 har jeg i utgangspunktet formelen =$D$17 Jeg skriver så inn ett vanlig tall i cella D18 (til erstatning for formelen som en manuell redigering i regnarket. Poenget med makroen er å gjenopprette utgangspunktet. Første gang jeg kjører din makro : Range("D18").FormulaR1C1 = Range("M18").FormulaR1C1 får jeg tallet som formelen i D17 genererer. Kjører jeg makroen en gang til får jeg den riktige formelen på plass (=$D$17). Resultatet kan synes likt, men blir selvfølgelig ikke det ved seinere redigeringer ovenforliggende celler.
Harald Staff Skrevet 22. september 2006 Skrevet 22. september 2006 makroen min kopierer relativ formel fra celle M18 inn i D18, du forteller ikke hva M18 inneholder. Men du er tydeligvis inne i change-eventene her, og det trøbbelet du ser er antakelig hva det var allerede i din første post, det er antakelig to koder som sloss mot hverandre. Kan du vise koden din for change, selectionchange og ellers annen kode som endrer formler og verdier i events ? Harald
leistr Skrevet 23. september 2006 Forfatter Skrevet 23. september 2006 makroen min kopierer relativ formel fra celle M18 inn i D18, du forteller ikke hva M18 inneholder. Men du er tydeligvis inne i change-eventene her, og det trøbbelet du ser er antakelig hva det var allerede i din første post, det er antakelig to koder som sloss mot hverandre. Kan du vise koden din for change, selectionchange og ellers annen kode som endrer formler og verdier i events ? Harald 6914445[/snapback] Dette var gresk for en amatør. Hvilken kode snakker du om? Ellers er det sikkert riktig at det er koder som "sloss". Regnarket er lagt opp som en rekke av inngående og utgående balanse for hver dag, der det innimellom kan legges inn ulike tall som påvirker utgående balanse, og dermed inngående balanse for neste dag. Hvis jeg nå manuelt overstyrer inngående balanse en av dagene (eks. tirsdag), forandres også inngående balanse videre ut i uka selvfølgelig, men de "konverterer" fra en formel (lik UB i går) til tallverdien av UB. Det er litt overraskende for meg. Faktisk influerer alle tall for tirsdag IB neste dag på samme måte (formelen blir borte og tall kommer i steden). Hva jeg har gjort med regnarket vet jeg ikke, for slik fungerer ikke et regnark jeg har lagd tidligere. Eneste jeg kommer på er at jeg har lagt inn kommandoer for beskytta celler og visning av formler.
Harald Staff Skrevet 23. september 2006 Skrevet 23. september 2006 Vel, du har en makro som du hadde trøbbel med. Hvor bor den og hva heter den ? Har du flere makroer ? Få se alle, klipp-lim dem hit med navn og greier. Beste hilsen Harald
leistr Skrevet 23. september 2006 Forfatter Skrevet 23. september 2006 Vel, du har en makro som du hadde trøbbel med. Hvor bor den og hva heter den ? Har du flere makroer ? Få se alle, klipp-lim dem hit med navn og greier. Beste hilsen Harald 6922628[/snapback] Fint du vil hjelpe, men jeg prøver å finne kjernen i problemet og tror den ligger annetsteds. Har testet ganske mye nå og funnet ut at det ikke er makroen som det er noe galt med, men selve regnarket. Det blir samme problem ved manuell inntasting som ved makro: Kjernen er at når jeg åpner regnarket fungerer alt som det skal. Jeg kan legge inn en formel uten problem i hvilken som helst av cellene. Men når jeg så lagrer regnarket er det noe som skjer. Hvis jeg deretter legger inn en formel i en celle produseres svaret på formelen (tallet) direkte. Hvis jeg legger inn en formel som gir samme tallmessig svar som det tallet som står i cella fra før, kommer først det tellmessige svaret. Gjentar jeg inntastingen kommer formelen inn i cella. Det må være noe med innstillingene til excel for denne arbeidsboka? Regnarket består av 7 celler for hver dag, der den første er en formel (=$D$9) og de neste 6 er blanke. Så kommer en summering i 8. celle av de 7 over : =$D$10+$D$11-$D$12-$D$13-$D$14-$D$15-$D$16 Deretter er neste celle (D18) : =$D$17. Dette er den første av 7 i ei ny rekke der 6 er blanke. Cella etter disse har igjen formelen =$D$18+$D$19-$D$20-$D$21-$D$22-$D$23-$D$24 osv. nedover i ei lang rekke. (Dollartegnene er strengt tatt ikke nødvendige). Når jeg etter lagring legger inn et tall i f.eks. D12, forandrer formlene i D18, D26 osv. seg til tall, dvs. formelen forsvinner! (I det gamle regnarket som var mye enklere mht. makroer osv. skjer ikke dette. Der fungerer alt som det skal. Så jeg får vel flytte makroene dit. Men det irriterer at jeg ikke skjønner hva som skjer.)
Harald Staff Skrevet 23. september 2006 Skrevet 23. september 2006 Jaja. Jeg skal ikke tvinge deg til å ta imot hjelp.
leistr Skrevet 23. september 2006 Forfatter Skrevet 23. september 2006 Jaja. Jeg skal ikke tvinge deg til å ta imot hjelp. 6923415[/snapback] Trodde kanskje jeg ba om hjelp ? Hjelper i alle fall lite for meg å snakke om "change-eventene" osv. Ta meg på alvor. Det er ikke makroene som er problemet.
leistr Skrevet 23. september 2006 Forfatter Skrevet 23. september 2006 (endret) Synderen er funnet! Jeg hadde lagd forms for å kunne legge inn dataene alternativt. I disse inngikk også cellene med formler (de som forandret seg til tall etter lagring av regnarket). Ved å inaktivere disse textboksene forsvant problemet! Ikke vet jeg om det finnes en innstilling / setting som kan tillate redigering av celler som har formler (uten at de endres slik at "gjenoppretting" og inntasting ellers i regnarket bare gir siffer i cellene). Noen forslag? Endret 23. september 2006 av leistr
Harald Staff Skrevet 23. september 2006 Skrevet 23. september 2006 (endret) Jo, det er makroene som er problemet, og siden de er greske for deg, er det veldig vrient å ta diagnosen din på alvor. Men jeg får ikke hjulpet deg uten at du gir meg den informasjonen jeg trenger. Edit: Ok, forms. Er det en userform med kode, med koblede tekstbokser eller hva ? Endret 23. september 2006 av Harald Staff
leistr Skrevet 23. september 2006 Forfatter Skrevet 23. september 2006 ...Edit: Ok, forms. Er det en userform med kode, med koblede tekstbokser eller hva ? 6924257[/snapback] Kobla ja, hvis du mener at de har referanse til cellene som skal redigeres. (jfr. ControlSource = D10 osv.) (prøvde å laste opp , men opplasting feile pga filtype). Prøv et enkelt språk - dette er ikke mitt felt ....
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå