Soluissa A2-A10 on arvoja tai ei ole. Siis osa soluista voi olla tyhjiä. Soluja A2-A10 pitäisi päästä muokkaamaan vain sillä ehdolla, että niiden summa on koko ajan vähintään 20. Soluja A2-A10 siis ei saisi pystyä muokkaamaan siten, että summa on alle 20. Kelpoisuuden tarkistus toimii tässä melko hyvin: olen onnistunut monellakin eri kaavalla pääsemään tulokseen, missä soluihin A2-A10 ei hyväksytä lukuja, joiden summa on liian pieni. Mutta ongelma on nyt siinä, että jos jonkun noista soluista tyhjentää kokonaan (siis deletoi), summa saadaan liian pieneksi. Esim. jos olisi vaikka soluissa A2,A4 ja A8 jokaisessa luku 8, ja alueen muut solut tyhjiä. Summana siis 8 8 8=24. Kelpoisuuden tarkistuksella pystyn estämään A4:n muuttamisen luvuksi 3, kun tulokseksi tulisi 8 3 8<20, mutta en pysty estämään A4:n tyhjentämistä, vaikka siitä tuleekin 8 8<20. Toivottavasti joku älysi, mitä yritin selittää.
Kelpoisuuden tarkistus -probleema
fghlk
453
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 4
Vanhimmat
B-sarake on back-up, johon syötetyt luvut talletetaan. Jos summa on mennä alle 20, muutos perutaan palauttamalla vanha arvo sieltä.
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Err
Application.EnableEvents = False
If (Not Intersect(Range("A2:A10"), Target) Is Nothing) Then
r = Target.Row
If WorksheetFunction.Sum(Range("A2:A10")) >= 20 Then
Cells(r, 2) = Cells(r, 1).Value
Else
Cells(r, 1) = Cells(r, 2)
End If
End If
Err:
Application.EnableEvents = True
End Sub
Tämmösen koodi ei toimi oikein ..
.
1.alkutilanteessa, jos ehto alle 20 ei pysty lisäämään lukuja...
2. jos deletoi lukuja antaa mennä summan alle 20 ..
.
katotaan saako tämmönen fiksattua
selitys mennyt jakeluun ja toimiva koodini valmis... ;-)
keep EXCELing
@Kunde
Ymmärsin, että on laillinen alkutila, josta tarkkailua lähdetään tekemään. Sen unohdin laittaa, että tämä alkutila pitää kopioida myös B-sarakkeeseen. Jos B-sarake on tyhjä, summa voi mennä alle 20.
Joo, Tämmöinen ymmärsi ihan oikein sen alkuasetelman. Kyllä tuo ainakin ensimmäisten kokeilujen perusteella tuntuu toimivan, kun tosiaan tein ensin tuon b-sarakkeeseen kopsaamisen.