Kahden solun yhteenlasku...

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?
91015
Äänestä

Muut lukivat myös

Vastaukset 9

Vanhimmat

Tee painike ja liitä siihen makro.

Sub Makro1()
[B1] = [B1] [A1]
End Sub

Äänestä
  • 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...

    Äänestä

  • hurtoze kirjoitti:

    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

    Äänestä

  • kunde kirjoitti:

    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.

    Äänestä

  • hurtoze kirjoitti:

    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

    Äänestä

  • kunde kirjoitti:

    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....

    Äänestä

  • hurtoze kirjoitti:

    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

    Äänestä

  • kunde kirjoitti:

    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...

    Äänestä

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

Äänestä

Kommentoi aloitusta


hurtoze kirjoitti:

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?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu