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
105
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
No Purra missäs ne työpaikat ovat?
Niinhän sinä väitit, että sinun puuhasi lisäävät 100 000 uutta työpaikkaa. Oliskohan jo aika myöntää että olet ollut vää3342133VOIKO MITÄÄN MIELIPUOLISEMPAA ENÄÄ EHDOTTAA?
NATO:n pääsihteeri Mark Rutte ja EU:n Kaja Kallas ehdottavat että euroopan maiden eläkevarat ja Terveydenhoito varat käy3241365MTV: Harvinainen haastattelu: Peltsi paljastaa Osmon elämästä julkkiksena: "Aika paljon tullut..."
Ihanat Peltsi ja Osmo . Tällä isällä ja pojalla on kyllä erityisen lämmin suhde. Isä ja poika kertovat väleistään ja pa91013- 68963
Sofiallako rakkaus rakoilee? Missä rillirakas?
Ukkeli taisi saada tarpeekseen Sofiasta ja lähti vaimon ja vauvan luo.186958Tiedän meidän molempien pitävän toisistamme
Siitä huolimatta näen tuhat eri vaihtoehtoa siitä, mikä menee pieleen yhteydenoton jälkeen. En kiusaa, härnää tai lupaa33945- 52914
Voi kun tietäisin mitä
Sinä olet. Ajattelen sinut hyvin helläksi ja välittäväksi. Siihen rakastuin. Mutta sitten se toinen puoli, miksi?51828- 110804
Kerro yksi positiivinen kokemus kaivatusta
Voi tunnistaa. Jos ei ole positiivista, voi kertoa negatiivisen. Ne ehkä jää mieleen paremmin.35746