I forhold til mit tidligere stillet spm. vedr. historik af specifik celleværdi, er der nu opstået et nyt mindre problem. Hvordan får jeg vba til at sikre at den nyeste ændring står øverst i kolonnen? Jeg har prøvet bla. at fuske med noget faldende sortering i excel, men det går i ged når en ny ændring bliver posteret....
Jeg håber nogle vil hjælpe, gevinsten er en pose med point:-)
Private Sub Worksheet_Calculate() Dim rng As Range If Range("E1") <> MyAverage Then MyAverage = Range("E1") Set rng = Worksheets("Gennemsnit").Range("A1") rng.Insert Shift:=xlDown rng = Now rng.Offset(0, 1) = MyAverage End If End Sub
Private Sub Worksheet_Calculate() Dim rng As Range If Range("E1") <> MyAverage Then MyAverage = Range("E1") Set rng = Worksheets("Gennemsnit").Range("A1") rng.EntireRow.Insert Shift:=xlDown rng = Now rng.Offset(0, 1) = MyAverage End If End Sub
Jeg har sat koden ind, men når der bliver foretaget ændringer så popper en boks med teksten - Run-time error'13' Type mismath" op. Der bliver dog indsat en hel tom række hver gang der sker en ændring. Hvad er der mon galt?
Tilføjelse til ovenstående. Jeg ønsker kun at ændringerne skal influere på de to kolonner og derved ikke skubbe andre sidestående kolonner nedad.... Dette skaber nemlig lidt kaos for mine andre formler:-)
Private Sub Worksheet_Calculate() Dim rng As Range If Range("E1") <> MyAverage Then MyAverage = Range("E1") Set rng = Worksheets("Gennemsnit").Range("A1") rng.Insert Shift:=xlDown rng.Offset(, 1).Insert Shift:=xlDown rng = Now rng.Offset(0, 1) = MyAverage End If End Sub
Tusind tak for hjælpen Bak! Det virker, man har nu fundet ud af koden ikke tager højde for op til flere andre faktorer i mit regneark.... Måske det er nemmere hvis jeg helt konkret fortæller hvad denne historik skal bruges til. Sorry for alle mine spm.:, håber at jeg kan hjælpe jer andre når jeg en gang bliver en haj til det...:-)
Gennemgang af problemet:
Når en vare bliver slogt i mit regneark, så skal antallet af solgte varer ganges med gennemsnitsprisen for hele den aktuelle beholdning. Det er her ekstremt vigtigt at det solgte antal varer IKKE blive fratrukket den samlede beholdning før at gennemsnitprisen er beregnet. Dette vil selvsagt betyde en ukorrekt gennemsnitspris!
På baggrund af en historik mente jeg, at jeg kunne sikre mig dette. Ud fra følgende ressonement: Den næstsidste posterede gennesnitspris, vil være den rigtige gennempris ALTID, også selvom jeg sælger hele min beholdning...Håber ikke at det her er noget sludder, ellers stop mig:-) Hvis ovenstående metode skal fungere i praksis er jeg bare ydermere nød til at sikre mig at en gennesnitspris for en i forvejen solgt vare Ikke pludselig ændrer værdi. Dette kunne ske ved en tilførelse af varebeholdningen eller et salg af vare. Jeg søger derfor en måde hvorpå jeg kan " fryse" de oplysninger omkring en solgt vare i en given række eks."A10,B10,C10,D11,E10,F10",og dermed sikre mig at bla. min gennemsnitlig kostpris ikke ændre sig.....
Eks. Værdien af cellen i 2.række(dvs.den "næst-nyeste") i kolonnen over den gennesnitlig historik jf. ovenstående formel af Bak, vil jeg have som absolutcellereference tilknyttet til en formel i eks. "F10" som derved beregner tab/gevinst når en vare bliver solgt. Denne formel skal kunne trækkes helt ned i regnearket, således at importeret data i salgskolonnen vil blive beregnet korrekt...
Et endnu åbenlyst problem synes at være følgende faktum: Ud fra ovenstående kode så vil den absolutcellererence af eks. "A2" ændre sig til "A3,A4,A5....." i takt med at der sker ændringer i gennemsnitprisen. Det er uheldigt for jeg vil jo netop KUN have den gennesnitspris som der ligger før den aktuelle, fordi det giver det korrekte resultat.
Hvis dette kan lade sig gøre, jamen så er jeg jo Home Free:-)
Selvom jeg har prøvet RIGTIG mange løsninger, er jeg nu blevet klar over at det kræver en solid kode..... Hjælp:-)
Jeg blev pludselig i tvivl, om jeg hellere skulle have oprettet et helt nyt spm jf. ovenstående? Håber på at høre fra endnu en venlig sjæl... Jeg forventer selvfølgelig ikke noget serveret på en sølvfad, men gerne forslag til hvordan jeg kommer videre med evt. den eksisterende kode fra dig Bak. Er godt klar over at ovenstående nok er en større opgave, men måske er der en smart simpel 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.