Hei,
minun pitäisi tehdä makro, jossa eräällä välilehdellä, Sheet1, olisi rivillä 3 viisi ruutua A-E sarakkeissa. Kun henkilö on jokaiseen ruutuun kirjoittanut jotain, hänen tulisi painaa F-sarakkeessa olevaa valmis nappia, jolloin makron tulisi siirtää A-E sarakkeissa oleva tieto Sheet2:lle sarakkeisiin A-E ensimmäiselle tyhjälle riville, tarkoitus siis kerätä usealta henkilöltä tietoa siten, että he käyvät syöttämässä vain tiedot Sheet1:n soluihin A3-E3, ja tämän jälkeen makro siirtää tiedot Sheet2:n ensimmäiseen tyhjään ruutuun. Samalla makron tulisi tyhjentää Sheet1:n ruudut A3-E3. Miten teen tämän? Todennäköisesti ei liian vaikea mutta en ole paljoa tehnyt makroja enkä osaa vaikka kuinka olen asiaa yrittänyt ratkaista.
Tod.näk. helppo makro-ongelma
3
112
Vastaukset
- ozgrid
Alla linkki esimerkkiin makrosta, joka "leikkaa" tietyn alueen ja siirtää sen toiselle välilehdelle, ensimmäiselle tyhjälle riville. Koodia pitää tietysti "mulkata" sinun tarpeitasi vastaavaksi. Kuitenkin esimerkki siitä mitä tarvitaan.
http://www.ozgrid.com/forum/showthread.php?t=79254 http://www.kundepuu.com/viewtopic.php?f=155&t=412&p=492&hilit=tietokanta#p492
http://www.kundepuu.com/viewtopic.php?f=155&t=62&p=64&hilit=tietokanta#p64
http://www.kundepuu.com/viewtopic.php?f=155&t=20&p=22&hilit=tietokanta#p22
etuna tossa "tietokannassa " on se, että se on nimetty alue ja dynaaminen eli voit lisätä ja poistella tietoja ja aina "tietokanta" oikean kokoinen
Keep EXCELing
@Kunde- Avuton makrojen kans
Hei,
ja kiitos vastauksista, näistä oli todella paljon apua. Pääsinkin eteenpäin mutten vielä valitettavasti loppuun. Se koodi kyllä erinomaisesti etsii SHEET2:lta vielä sen ensimmäisen tyhjän rivin mutta jostain syystä se ei suostu lisäämään tietoa sinne. Minun koodini näyttää
Sub MoveActiveRow()
Application.ScreenUpdating = False
Dim strSheetName, strCellAddress As String
strSheetName = ActiveSheet.Name
strCellAddress = ActiveCell.Address(False, False)
Range("SYÖTTÖ").Cut
Sheets("Sheet2").Select
Range("A" & Range("A65536").End(xlUp).Row).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A" & ActiveCell.Row).Select
Sheets(strSheetName).Select
Range(strCellAddress).Select
Range("SYÖTTÖ").Delete
Application.ScreenUpdating = True
End Sub
Ja olen siis nimennyt sen syöttöalueen nimellä SYÖTTÖ.
Kiitos vielä,.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Se oli siinä sitten
Yhdysvaltain presidentti Donald Trump on määrännyt kaiken maan Ukrainalle toimittaman sotilaallisen tuen tauolle, kertoo7272256Paljonko aikaa on kulunut siitä kun viimeksi tapasit hänet?
Päiviä? Viikkoja? Kuukausia? Vuosia?502249- 1132112
- 1272103
- 501747
Trump tekee rauhan Amerikan ja Venäjän ehdoilla
Ukraina luovuttaa Venäjän haluamat alueet Venäjälle. Ukraina luovuttaa Amerikan haluamat arvokkaat mineraalit Amerikall2431623- 311361
Syvälliset keskustelut
Olisivat tärkeintä ensisijaisesti hänen kanssaan Tulisi sellainen hetki, mutta kaikki meni pieleen201309Olisipa sitä henkisesti eheämpi ja rohkeampi
mikään maallinen mammona ei itseäni kiinnosta, eikä sen menetys kiinnostus. Mutta kun kohtaa jonkun sykäyttävän ihmisen,161195Kyllähän tämä vähän kirpaisee
Mutta oman sisäisen rauhan vuoksi jätän sinut nyt historiaan. Todennäköisesti olet jo sinäkin mennyt eteenpäin. Olipah381137