taulukossani on kolmessa solussa arvot (A1 B2 ja B3), joista 2 on aina tidossa (esim A1 ja B2 tai A1 ja C3) ja kolmas pitää laskea. Haluan että Excel laskee automaattisesti kolmannen solun arvon, kun kahteen muuhun soluun on arvot annettu. Ja vastauksen pitäisi olla eri värillä kuin käsin annetut arvot. Onko tämä mahdollista?
soluun 2 arvoa
777
121052
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 12
Vanhimmat
Eka viesti on vähän epäselvä... sekavassa mielentilassa ja kiireellä kirjoitettu.
Eli taulukkoon annetaan aina 2 arvoa. toinen arvo annetaan aina soluun A1. Ja toinen joko soluun B1 tai C1. Nyt Excelin pitäisi laskea arvo tyhjäksi jääneeseen soluun joka on joko B1 tai C1.
En tiedä tätäkö hait?
Laita koodi taulukon moduuliin
Dim vika As String
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Select Case vika
Case "A1"
Range("B1").Select
vika = "B1"
Range("B1:C1") = ""
Case "B1"
Range("C1").Select
vika = "C1"
Range("C1") = Range("A1") Range("B1") 'muuta kaava sopivaksi
Range("C1").Font.ColorIndex = 3 'punainen
Range("B1").Font.ColorIndex = 0
Case "C1"
Range("A1").Select
vika = "A1"
Range("B1") = Range("A1") Range("C1") ' muuta kaava sopivaksi
Range("B1").Font.ColorIndex = 3 'punainen
Range("C1").Font.ColorIndex = 0
End Select
End Sub
Oli jäänyt pari riviä koodista pois, elikä tässä oikea koodi
Dim vika As String
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Select Case vika
Case "A1"
Range("B1").Select
vika = "B1"
Range("B1:C1") = ""
Case "B1"
Range("C1").Select
vika = "C1"
Range("C1") = Range("A1") Range("B1") 'muuta kaava
Range("C1").Font.ColorIndex = 3 'punainen
Range("B1").Font.ColorIndex = 0
Case "C1"
Range("A1").Select
vika = "A1"
Range("B1") = Range("A1") Range("C1") ' muuta kaava
Range("B1").Font.ColorIndex = 3 'punainen
Range("C1").Font.ColorIndex = 0
Case Else
Range("A1").Select
vika = "A1"
End Select
End Sub
En tajua mihin tuo koodi pitäisi laittaa.
Ja jos viitsit niin voisitko vähän selittää mitä tossa tapahtuu.
Klikkaa sivun alareunassa olevasta taulukoiden valitsemispalkista hiiren oikealla esim. Taul1.,ja avutuvasta valikosta Näytä koodi, jolloin avautuu Taul1 koodimoduuli. Liitä makro sinne ja testaile.
Toinen tapa Alt F11 ja avautuvasta VBA editorista VBA projektit selainvalikosta tuplaklikkaat Taul1 ja avautuvaan koodimoduuliin liität makron.
Makro siirtyy A1 solusta B1 soluun ja edelleen C1 soluun josta palaa A1 soluun.
Kun soluun A1 syöttää luvun nollaa solut B1 ja C1
Kun soluun B1 syöttää luvun laskee yhteen solut A1 ja B1 soluun C1 ja vaihtaa solun C1 fontin värin punaiseksi ja B1 fontin värin mustaksi
Kun soluun C1 syöttää luvun laskee yhteen solut A1 ja C1 soluun B1 ja vaihtaa solun B1 fontin värin punaiseksi ja C1 fontin värin mustaksi.
Joo... menee mulle liian vaikeaksi. taulukossani on 21 kolmen solun ryhmää, joiden pitäisi toimia kaikkien samalla tavalla (tietenkin eri arvoilla).
Ja muihin soluihin pitäisi pystyä myös antamaan arvoja jotka myös vaikuttavat näiden 21:n ryhmän vastauksien summaan.
Ongelma on ratkaistu jos pystyn kertomaan esim solussa B3, että solu B1=jotain. onko tämä Kunde mahdollista?
Laita soluun B3 =B1
Siis kirjoitan B3 soluun: =B1 ???
____________________________________
-B1 solu on tyhjä.
-B3 solussa on kaava jonka vastauksen pitäis ilmestyä soluun B1
En pysty auttamaan näkemättä mallitiedostoa. Jos haluat niin voit lähettää mallitiedoston mulle ja kerro tarkemmin mitä sen pitäisi tehdä -niin kattellaan...
[email protected]
...sen exceli taulukon, ja vähän ohjeistusta mukana.
Suoraan soluun kaavoilla tuo ei onnistu, koska kaava katoaa kun kirjoitat arvon soluun.
Mutta "apusoluilla" onnistunee, jos haluat antaa arvon soluun B1 annat sen soluun B3 ja jos soluun C1 annat sen soluun C3.
Soluun B1 kaava:
=JOS(JA(B3="";C3="");"";JOS(JA(B3"";C3"");"";JOS(JA(B3"";C3="");B3;KESKIARVO(E3:E5))))
Soluun C1 kaava:
=JOS(JA(B3="";C3="");"";JOS(JA(B3"";C3"");"";JOS(JA(C3"";B3="");C3;KESKIARVO(E3:E5))))
Kun kirjoitat arvon soluun B3 tulee se B1:een ja C1:een laskettu arvo KESKIARVO(E3:E5).
Solun tai kaavan arvon mukaan voit määrätä fontin värin: muotoile -> ehdollinen muotoilu.
Ei auta tähän ongelmaan. Haluan taulukkoon näkyville vain 3 solua joista kahteen annetaan arvo ja kolmanteen tulee vastaus.
En halua että taulukkoon jää tyhjiä soluja tai soluja joissa samat arvot. solujahan voi kyllä piilottaa, mutta kahdessa solussa arvon pitäisi olla joko käsin naputeltu tai kaavan vastaus.
Voinko kertoa esim solussa B3, että solu B1=jotain?