|
| løbende resultat i Excel Fra : Misteryman | Vist : 1255 gange 200 point Dato : 02-08-07 23:34 |
|
Hvordan kan jeg lave et datablad hvor den løbende kan ligge tal til en boks, uden at være konstant afhængig af den data der står i indtastningsboksen?
Fx.
A1 B1 C1
Produceret antal Før Antal Nu total
"nu total" skulle så kunne tilføres en plusværdi fra A1. Hvis man så taster 0 i a1, skal den kunne bibeholde sit oprendelige resultat. Skriver man så 2 i A1 skulle den yderligere ligge to til c1'ts tidligere resultat.
Er der nogen der kan give mig en formel på dette, da jeg er lidt lost.
Ps. Ved godt at det er lidt forvirende skrevet
| |
|
Øj og så kom det ikke helt til at se ud som jeg ville, men håber i forstår det afligevel
| |
| Kommentar Fra : Bille1948 |
Dato : 02-08-07 23:49 |
|
Det er ganske rigtigt "ret forvirrende skrevet".
Giv et eksempel, samt fortæl, hvad du skal bruge det til.
Måske findes der en bedre løsning.
| |
| Kommentar Fra : fdbm |
Dato : 03-08-07 00:21 |
|
A B C
1 0 0 0
2 2 0 2
3 1 2 3
4 4 3 7
5 1 7 8
6 2 8 10
Formler:
A1-A6 : Indtastninger
B1 : =A1
C1 : =SUM(A1:B1)
B2 : =C1
C2 : =SUM(A2:B2)
B3 : =C2
C3 : =SUM(A3:B3)
o.s.v.
Var det måske noget i den retning du havde forestillet dig?
| |
| Kommentar Fra : sion |
Dato : 03-08-07 00:21 |
|
Som jeg forstår det, skal værdien i C1 være en akkumulation (en sum) af alle de værdier, der har stået i celle A1. Dvs at når der indtastes en værdi i A1 lægges den til værdien i C1, som derved bliver større og større.
Dette kræver en makro, som jeg dog ikke lige har tænkt nærmere over.
Hvad der skal stå i B1 er vist ikke defineret. Det er måske den værdi, der stod i C1, før værdien i A1 blev indtastet - altså C1-A1 (en simpel Excel-formel).
Simon
| |
|
normalt laver man en lukket kreds, med de formler man indtaster. Fx: a1= indstastningsværdig
B1=førværdig C1=Nu totalværdig. denne formel vil normalt være indtastet i c1: =A1+B1...
Men så er resultatet afhængig af indtastningsværdien. Det er det jeg vil have den væk fra. Den skal ligge indtastningsværdien ind og fastholde resultatet. Når jeg så laver en nu indtastningsværdi skal den ligge indtastningsværdien til det tidliger åbnået resultat.
Jeg ved ikke om jeg kan forklare det bedre en dette
| |
|
A B C
1 0 0 0
2 2 0 2
3 1 2 3
4 4 3 7
5 1 7 8
6 2 8 10
Formler:
A1-A6 : Indtastninger
B1 : =A1
C1 : =SUM(A1:B1)
B2 : =C1
C2 : =SUM(A2:B2)
B3 : =C2
C3 : =SUM(A3:B3)
o.s.v.
Var det måske noget i den retning du havde forestillet dig?
Ikke helt. Man skal kun skulle indtaste ændringsværdi i en boks
| |
| Kommentar Fra : Hausbaer |
Dato : 03-08-07 00:30 |
|
Hvis jeg forstår dig rigtig skal regne arket kunne tælle sammen hvad der er produceret altså..
dvs. Mandag=2 Tirsdag=2 Onsdag=0 Torsdag=3 Fredag=2
A B C D
1 Produceret Antal Antal Før Antal Total nu
2 Man 2 0 2
3 Tirs 2 2 4
4 Ons 0 4 4
5 Tor 3 4 7
6 Fre 2 7 9
Er det forstået rigtigt?? Så ville det "bare" være formel for D rækken
(Felt D2) =C2+B2
(Felt D3) =C3+B3 osv.
(Felt C3) = D2
(Felt C4) = D3 osv.
Hjalp det??
Hilsen
Henrik
| |
| Kommentar Fra : Ysseven |
Dato : 03-08-07 07:01 |
|
Er det afklaret, hvad spørgsmålet går ud på - eller er det bare mig, der måske ikke har fanget den endnu?
Jeg læser det sådan:
Det har på et tidspunkt været produceret x antal ting. På starter optællingspunktet på et tidspunkt (= "før"). Sidenhen tælles tingene på bestemte tidspunkter (= "nu") for at se, hvad der rent faktisk er på lager. Og det skal kunne gøres, uden at tallet for "nu" ændrer sig, når man taster x nye produkter ind.
Hvis det er rigtigt, så mangler der 2-3 kolonner/rækker:
A
1: Produceret
2: Før
3: Nu
4: Produceret yderligere
5: NY nu ("=A1+A4")
eller:
A
1: Produceret
2: Før
3: Nu
4: Tast selv tallet fra A1
5: Produceret yderligere
6: NY nu ("=A4+A5")
Ved model 2 er der garanti for, at det oprindelige antal produkter ikke ændres...!
- Eller hvad?
| |
| Kommentar Fra : sion |
Dato : 03-08-07 10:32 |
|
Skriv denne VBA-kode i Visual Basic under det ark, du skal bruge funktionen i:
Kode Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Range("C1") = Range("C1") + Range("A1")
End If
End Sub |
Simon
| |
|
tja, den nemmeste måde at sige den på er vel: Jeg har en boks hvor jeg kan indtaste et kvantum og en boks hvor statuset står. Indtaster jeg noget i den første boks, skal status stige til fx. 5. Indtaster jeg så 2 i kvantumboksen, skal den således stige til 7 og så fremledes. Giver dette mening?
| |
| Kommentar Fra : sion |
Dato : 04-08-07 09:33 |
|
Ja det giver mening - og det er netop det, min Visual Basic-kode gør.
Når du siger boks, mener du så ikke celle? I min kode indtaster du "kvantum" i celle A1 og "status" er i celle C1.
Hvis du ikke ved, hvor du skal skrive Visual Basic-koden, så skriv igen.
Simon
| |
| Accepteret svar Fra : sion | Modtaget 200 point Dato : 04-08-07 09:47 |
|
...jeg kan da også lige skrive det med det samme.
Sådan åbner du Visual Basic for Applications (VBA):
Funktioner -> Makroer -> Visual Basic Editor
Til venstre i Visual Basic er der øverst en oversigt over de aktuelle VBA Projekter. Det er nemmest at finde det rigtige, hvis du kun har én Excelfil åben. I mappen Microsoft Excel Objects ligger kodesiderne for alle ark og et for hele filen (ThisWorkbook). Du skal åbne (dobbeltklikke på) det ark, du skal bruge koden i. Kodesiden åbnes til højre, og du kopierer bare den kode ind, jeg har skrevet tidligere.
Når du gemmer Excel-filen gemmes VBA-koden automatisk. Du behøver heller ikke gemme VBA-koden for at den skal virke i regnearket.
Simon
| |
| Godkendelse af svar Fra : Misteryman |
Dato : 06-08-07 02:23 |
| | |
| Du har følgende muligheder | |
|
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
| |
|
|