Tänään on 22.05.2018, 19:51.

Excel-kysymys

Yleiseen turisemiseen muustakin kuin pelaamisesta.
Vastaa Viestiin
tycci99
Jäsen
Viestit: 439
Liittynyt: 20.04.2004, 13:11
Pisteitä: 0

Excel-kysymys

Viesti Kirjoittaja tycci99 »

Osaako joku neuvoa ongelmassani?

Pitäisi saada syöttösoluun ja summasoluun kaavat, jolla syöttösoluun syötetty luku laskettaisiin summaksi summasoluun, sen jälkeen syöttösolu tyhjennettäisiin, ja kun siihen seuraavan kerran syötetään luku, siihen summasoluun lisättäisiin tämä luku vanhaan summaan.

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Minikommentit


Fumbler
Jäsen
Viestit: 19
Liittynyt: 30.09.2005, 20:40
Pisteitä: 2

Viesti Kirjoittaja Fumbler »

Eipä tämä nyt ihan sitä tee mitä ajoit takaa, mutta jotain sinne päin kuitenkin.

Makrolla toteuteuttu ratkaisu. Syöttösolu on C7 ja summasolu on D7. Makro lisätään seuraavalla tavalla:
1. valikosta Tools - Macro - Visual Basic Editor
2. Editorin vasemmassa laidassa olevasta valikosta valitaan VBA Project (tiedoston nimi) - sheetti jossa solut ovat
3. Sitten lisätään alla oleva koodi avautuvaan ikkunaan (sisennykset eivät näköjään toimi)

Public Rivi As Integer
Public Sarake As Integer

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Rivi_Uusi = ActiveCell.Row
Sarake_Uusi = ActiveCell.Column

If Rivi = 7 Then
Range("A1") = 2
If Sarake = 3 Then
Luku = Range("C7")
Summa = Range("D7")
Range("D7") = Summa + Luku
Range("C7") = ""
End If
End If
Rivi = Rivi_Uusi
Sarake = Sarake_Uusi
End Sub

Koodi sinällään rautalankaa, elegantimpia tapoja varmasti löytyy...ja paljon.

Toimii siis seuraavasti. Aina, kun solusta C7 (=syöttösolu) poistutaan, lisätään siinä ollut luku summasoluun ja syöttösolu tyhjennetään.

Fiksumpia tapoja varmasti löytyy, mutta tolla nyt jotain saa tehdyksi.

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Minikommentit


zoni80
Jäsen
Viestit: 189
Liittynyt: 29.06.2005, 18:40
Pisteitä: 10
Paikkakunta: Suomi

Viesti Kirjoittaja zoni80 »

Fumbler kirjoitti:
Fiksumpia tapoja varmasti löytyy, mutta tolla nyt jotain saa tehdyksi.
Eipä noin yksinkertaista makroa kannata varmaankaan alkaa koodailemaan (varsinkin jos kyseessä on henkilö joka ei osaa koodata). Varmaan helpompi on käyttää nauhoitusta.

Eli johonkin apusoluun lasketaan se syöttökentän ja tuloskentän summa. Apusolun arvo (uusi summa) kopioidaan summakenttään uudeksi summaksi ja apusolu tyhjennetään. Joku varmaan neuvoo miten sitä nauhoitustoimintoa käytetään.

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Perussuomalainen. Entinen kokkari.

Minikommentit


Fumbler
Jäsen
Viestit: 19
Liittynyt: 30.09.2005, 20:40
Pisteitä: 2

Viesti Kirjoittaja Fumbler »

Mites sitten meinasit, että sitä nauhoitettua makroa ajetaan? Pikku menninkäisetkö sitä käyvät suorittamassa. Ja miten makron nauhoittaminen on helpompaa kuin valmiin koodin copy-pasteaminen.

Ja ei, minulla ei nyt ole fiksumpaa ratkaisua, mutta sitä ei ole livevetomiehenkään juttu. Enkä myöskään osaa sanoa voisiko asian tehdä ilman makroja. Kenties, viisaammat saavat kertoa miten.

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Minikommentit


zoni80
Jäsen
Viestit: 189
Liittynyt: 29.06.2005, 18:40
Pisteitä: 10
Paikkakunta: Suomi

Viesti Kirjoittaja zoni80 »

Fumbler kirjoitti:Mites sitten meinasit, että sitä nauhoitettua makroa ajetaan? Pikku menninkäisetkö sitä käyvät suorittamassa. Ja miten makron nauhoittaminen on helpompaa kuin valmiin koodin copy-pasteaminen.

Ja ei, minulla ei nyt ole fiksumpaa ratkaisua, mutta sitä ei ole livevetomiehenkään juttu. Enkä myöskään osaa sanoa voisiko asian tehdä ilman makroja. Kenties, viisaammat saavat kertoa miten.
Mitä että makroa ei voi muka ajaa? Siis nauhoitat ja ajat. Mitä ihmeellistä siinä on? Ja en minä kyllä tuollaisten pikkutoimenpiteiden takia alkaisi esittelemään muuttujia (siis että esittelet läjän muuttujia ja sitten lasket niillä vain 1+1=2). Ei siis niinku mun ohjelmissa on muutama muuttuja ja kymmeniä tuhansia koodirivejä. Itseasiassa en ole edes Excelin makroihin tutustunut, kun koodailen ihan toisissa ympäristöissä. Jos sitten pikku-ukot vaikka koodais sen ja mie voisin copy-pasteta sen ni sitten. Ja sen sanon vaan ettei tuohon ole mitään kaavaa olemassa, vaan makrolla se on tehtävä. Ratkaisu oli aivan oikea, vaikka en koodiin tutustunukaan. Ajattelin vaan, että Gates:n Bili osaa vääntää siitä nauhoitetusta pätkästä ihan toimivaa koodia.

Pisteitä

Pisteitä yhteensä: 0. Antamasi peukut: 0.

Minikommentit


Vastaa Viestiin

Palaa sivulle “Yleinen turina”