Moro. Miten saan kaksi solua laskettua yhteen siten, että toisen solun luku päivittyy... siis... esim solut a1 ja b1. B1:ssä on luku 5 ja kun laitan a1:een luvun 5 b1 lisäisi tuon 5:n itseensä, jolloin b1:een tulisi 10. Tämä voisi (pitäisikin?) toimia jollakin napilla koska muutenhan tuosta tulee luuppi joka kestää äärettömaan kun A1 lisäisi kokoajan 5 B1:een. Voi perse.... onnistuuko mitenkään?
Kahden solun yhteenlasku...
hurtoze
91015
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 9
Vanhimmat
Tee painike ja liitä siihen makro.
Sub Makro1()
[B1] = [B1] [A1]
End Sub
miten tuon saisi sillä tavalla ettei se olisi rivinumeroon sidonnainen tuo makro.
Pitäisi saada aikaan systeemi että painikkeesta tulee aina uusi rivi joka sisältää tuon makron, jolloin edellinen rivi siirtyy rivin alaspäin ja tuo makro ei enää toimi...
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("A:A")) Is Nothing Then
If IsNumeric(Target) Then
Target.Offset(0, 1) = Target.Offset(0, 1) Target
Else
MsgBox "syott?m?si arvo ei ollut luku! "
Target.Select
Exit Sub
End If
End If
End SubPrivate Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("A:A")) Is Nothing Then
If IsNumeric(Target) Then
Target.Offset(0, 1) = Target.Offset(0, 1) Target
Else
MsgBox "syottamasi arvo ei ollut luku! "
Target.Select
Exit Sub
End If
End If
End Sub
Tämä moduulijuttu on aika uutta meikäläiselle, joten jos hieman lisää apua.
>visual basic >insert >module/class module (kumpi) >sitten tuo koodin pätkä, entäs sitten miten tuo siirretään tai tallennetaan taulukkoon ja miten/mistä sen saa toimimaan taulukossa.
Taul1 tai mihinka olemassa olevaan taulukossa haluat koodin toimivan liita se ko taulukon moduuliin Projektin hallinta/Excelin objektit.Taulukon moduulit(niissa on taulukon kuva) on ThisWorkbook(vihrea x valkealla paperilla) moduulin ylapuolella.Ala lisaa uutta moduulia.
nyt lisaa myos rivin, olikin tullut tuplana toi koodi...
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo virhe:
Application.EnableEvents = False
If Not Intersect(Target, Range("A:A")) Is Nothing Then
If IsNumeric(Target) Then
Target.Offset(0, 1) = Target.Offset(0, 1) Target
Target.Offset(1, 0).EntireRow.Insert
Else
MsgBox "syottamasi arvo ei ollut luku! "
Target.Select
GoTo virhe
End If
End If
virhe:
Application.EnableEvents = True
End Sub
mutta tyhmä kun olen en kyllä vieläkään ymmärrä miten saan tuon taulukossani toimimaan. miten palaan takaisin exceliin, pitääkö tuo moduuli tallentaa jotenkin ja miten sen nyt saan taulukossani laskemaan kuten ensimmäisessä viestissäni toivoin....
liitä makro ohjeiden mukaan ja tallenna työkirja, Makro toimii siinä taulukossa mihin koodin liitit automaattisesti. Eli kun syötät luvun A sarakkeeseen lisää sen vastaavaan B sarakkeen lukuun. Ei toimi muissa sarakkeissza vain ja ainosataan kun A sarakkeen solun arvo muuttuu
Kiitos vaan, upposihan se oppi kovempaankin kalloon kun väkisin runnoi...
taulukon moduuliin...
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("A1")) Is Nothing Then
If IsNumeric(Target) Then
Range("B1") = Range("B1") Range("A1")
Else
MsgBox "syottämäsi arvo ei ollut luku! "
Range("A1").Select
Exit Sub
End If
End If
End Sub