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
144
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
Vihamielisyys naisia kohtaan on jo yllättävän suuri ongelma
Esiintyy laajemmassa mittakaavassa, mitä vain tällä palstalla. Mistä tuo ilmiö nyt oikein johtuu, ja saa alkuvoimansa?5552493Odotan sitä hetkeä
kun nähdään taas. Tiedän, että sinäkin odotat. Kun se päivä koittaa, katseesi hakee minua. Ehkä arkailemme toisiamme väh671406Olen melko vakuuttunut
etten tule olemaan koskaan täysin onnellinen ilman sinua. En uskonut, että näin kävisi kenenkään kanssa. Kunnes sain kok831340- 971297
- 1371228
- 1051118
Postimerkki kirjeeseen ja kortiin maksaa jo 3 euroa!
https://yle.fi/a/74-20229241 Kyllä tämä on järjetön hinta, Posti tuhoaa itsensä tällä hinnalla, täytyyhän Postin "Herro133984- 48910
- 47851
Sitä saattaa vähän hölmöillä
rakkauspäissään, jos tunteita on enemmän kuin osaa käsitellä. Alkuhölmöilyt on söpöä ja sallittavaa.60790