Seuraavanlaiseen ongelmaan kyselisin apua.
Sheet1 B2:M2 sisältää funktioilla saatuja lukuja.
Pitäisi saada siirrettyä nämä luvut arvoina Sheet2:ssa olevaan taulukkoon seuraavalle vapaana
olevalle riville. Rivejä taulukossa on 25.
Minkähänlaisella makrolla moinen voisi onnistua?
Arvojen siirto
12
516
Vastaukset
- Nimimerkki
Pienellä testi taululla sain tällaisen toimimaa, huomaa siinä on muutamia komentoja joita voisit yhdistää, mutta laitoin noin että koodi olisi selvemmin luettavissa mitä se tekee.
Public Sub lisaaOsa()
Dim sarakeJossaEiOleTyhjaa As String
Dim ekaRivi As Double
Dim vikaRivi As Double
Dim uusiRivi As Double
Dim solutJotkaKopioidaan As Range
Dim solutJohonKopioidaan As Range
sarakeJossaEiOleTyhjaa = "B"
ekaRivi = 19
vikaRivi = Sheet2.Range(sarakeJossaEiOleTyhjaa & ekaRivi).End(xlDown).Row
uusiRivi = vikaRivi 1
Set solutJotkaKopioidaan = Sheet1.Range("B2:M2")
Set solutJohonKopioidaan = Sheet2.Range("B" & uusiRivi & ":M" & uusiRivi)
solutJohonKopioidaan.Value = solutJotkaKopioidaan.Value
End Sub
huomaa myös tuo muuttuja "sarakeJossaEiOleTyhjaa" siinä sarakkeessa ei saa olla tyhjiä soluja välissä jos käytät tätä lausetta:
vikaRivi = Sheet2.Range(sarakeJossaEiOleTyhjaa & ekaRivi).End(xlDown).Row
toinen vaihtoehto olisi
vikaRivi = Sheet2.Range(sarakeJossaEiOleTyhjaa & "65536").End(xlup).Row- Nimimerkki
Public Sub lisaaOsa()
Dim uusiRivi As Integer
Dim solutJotkaKopioidaan As Range
Dim solutJohonKopioidaan As Range
uusiRivi = Sheet2.Range("B19").End(xlDown).Row 1
Sheet2.Range("B" & uusiRivi & ":M" & uusiRivi).Value = Sheet1.Range("B2:M2").Value
End Sub - Nimimerkki
Nimimerkki kirjoitti:
Public Sub lisaaOsa()
Dim uusiRivi As Integer
Dim solutJotkaKopioidaan As Range
Dim solutJohonKopioidaan As Range
uusiRivi = Sheet2.Range("B19").End(xlDown).Row 1
Sheet2.Range("B" & uusiRivi & ":M" & uusiRivi).Value = Sheet1.Range("B2:M2").Value
End SubPublic Sub lisaaOsa()
Dim uusiRivi As Integer
Dim solutJotkaKopioidaan As Range
Dim solutJohonKopioidaan As Range
uusiRivi = Sheet2.Range("B65536").End(xlUp).Row 1
Sheet2.Range("B" & uusiRivi & ":M" & uusiRivi).Value = Sheet1.Range("B2:M2").Value
End Sub
Sub Kopioi()
Dim KopioAlue As Range
On Error Resume Next
Set KopioAlue = Range("Taul1!B2:M2")'muuta aluetta tarvittaessa
KopioAlue.Copy Destination:=Range("Taul2!B65536").End(xlUp).Offset(1, 0) 'kopioi B sarakkeesta alkaen muuta tarvittaessa
End Sub- Nimimerkki
hieno ja tiivis koodi, mutta ei toimi oikein
Nimimerkki kirjoitti:
hieno ja tiivis koodi, mutta ei toimi oikein
Mikä virheilmoitus tulee jos hipsaat On Error Resume Next rivin?
Ainakin mulla kopioi Taul1 alueen B2:M2 Taul2 aina seuraavalle vapaalle riville B sarakkeessa- Nimimerkki
kunde kirjoitti:
Mikä virheilmoitus tulee jos hipsaat On Error Resume Next rivin?
Ainakin mulla kopioi Taul1 alueen B2:M2 Taul2 aina seuraavalle vapaalle riville B sarakkeessaEi virheilmoitusta, mutta kopioi noihin vain nollia.
Kun tarkistin noi ei ne nollia ollutkaan vaan kaavoja jotka palauttaa nollia. Eli koodi on oikein vaikka testi ei läpi mennyt. Nimimerkki kirjoitti:
Ei virheilmoitusta, mutta kopioi noihin vain nollia.
Kun tarkistin noi ei ne nollia ollutkaan vaan kaavoja jotka palauttaa nollia. Eli koodi on oikein vaikka testi ei läpi mennyt.kysyjä halusikin vain arvot...
Sub Kopioi()
On Error Resume Next
Range("Taul1!B2:M2").Copy 'muuta aluetta tarvittaessa
Range("Taul2!B65536").End(xlUp).Offset(1, 0).PasteSpecial (xlPasteValues) 'kopioi B sarakkeesta alkaen muuta tarvittaessa
End Sub- Caale
kunde kirjoitti:
kysyjä halusikin vain arvot...
Sub Kopioi()
On Error Resume Next
Range("Taul1!B2:M2").Copy 'muuta aluetta tarvittaessa
Range("Taul2!B65536").End(xlUp).Offset(1, 0).PasteSpecial (xlPasteValues) 'kopioi B sarakkeesta alkaen muuta tarvittaessa
End SubKundelle ja Nimimerkille. Homma toimii juuri niinkuin halusin Kunden jälkimmäisellä makrolla. Osaisinpa vaan itsekin tehdä.
- Caale
Caale kirjoitti:
Kundelle ja Nimimerkille. Homma toimii juuri niinkuin halusin Kunden jälkimmäisellä makrolla. Osaisinpa vaan itsekin tehdä.
Makro toimii muuten hienosti, mutta huomasin jälkeenpäin, että alue, jonne tiedot kopioidaan Taul2:ssa jää aktiiviseksi (maalatuksi).
Saakohan sitä mitenkään muutetuksi ja kursorin paikaksi vaikka solu A1 Taul2:ssa. Yrityksistä
huolimatta en saanut asiaa korjatuksi. - Nimimerkki
Caale kirjoitti:
Makro toimii muuten hienosti, mutta huomasin jälkeenpäin, että alue, jonne tiedot kopioidaan Taul2:ssa jää aktiiviseksi (maalatuksi).
Saakohan sitä mitenkään muutetuksi ja kursorin paikaksi vaikka solu A1 Taul2:ssa. Yrityksistä
huolimatta en saanut asiaa korjatuksi.Tuossa minun koodissa ei aktivoitu kursoria ollenkaan, eikä muutenkaan vaikuteta kursorin liikkeisiin.
Siinä minun koodissa vain sijoitettiin arvot ( Value ) toisesta paikasta toiseen paikkaan, ja tiivistetty koodihan oli:
Dim uusiRivi As Integer
Dim solutJotkaKopioidaan As Range
Dim solutJohonKopioidaan As Range
uusiRivi = Sheet2.Range("B65536").End(xlUp).Row 1
Set solutJotkaKopioidaan = Sheet1.Range("B2:M2")
Set solutJohonKopioidaan = Sheet2.Range("B" & uusiRivi & ":M" & uusiRivi)
solutJohonKopioidaan.Value = solutJotkaKopioidaan.Value
Kokeile muokata tuosta sinulle sopivaksi - Caale
Nimimerkki kirjoitti:
Tuossa minun koodissa ei aktivoitu kursoria ollenkaan, eikä muutenkaan vaikuteta kursorin liikkeisiin.
Siinä minun koodissa vain sijoitettiin arvot ( Value ) toisesta paikasta toiseen paikkaan, ja tiivistetty koodihan oli:
Dim uusiRivi As Integer
Dim solutJotkaKopioidaan As Range
Dim solutJohonKopioidaan As Range
uusiRivi = Sheet2.Range("B65536").End(xlUp).Row 1
Set solutJotkaKopioidaan = Sheet1.Range("B2:M2")
Set solutJohonKopioidaan = Sheet2.Range("B" & uusiRivi & ":M" & uusiRivi)
solutJohonKopioidaan.Value = solutJotkaKopioidaan.Value
Kokeile muokata tuosta sinulle sopivaksiNyt toimii juuri niinkuin halusinkin. Kiitos!
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1033008
Kehutaan vaihteeksi Perussuomalaisia
Perussuomalaiset ovat olleet melkoisen lokakampanjoinnin kohteena, vaikka ovat saaneet paljon hyvää aikaiseksi. Nyt on872395- 241936
Roiskeläpät takaisin niin alkaa lasit kestämään
"Tuulilaseja hajottava talvi-ilmiö on ehkä ratkennut" Tämän päivän autoissa kun on esimerkiksi vanhempaa autokalustoa s221500Mitä tapahtuu?
Mitä säpäkän risteyksessä on tapahtunut kun poliiseja, ambulansseja ja kopteri paikalla?291470Tiesitkö? Johannes Brotheruksen ex-isäpuoli on kuin onkin Mikko Kuustonen - Tästä on kyse!
Tiesitkö? Ja hehän on kuin kaksi marjaa... Johannes Brotherus on KUUMAA-yhtyeen jäsen ja tänä syksynä mukana Vain elämää151365- 87892
Murtautuminen uimahalliin
17.10. yöllä Kiuruveden uimahalliin murtauduttiin yläkerran oven ikkunasta. Onko kellään havaintoja tapauksesta?26887Mitä tarkalleen tunnet
Minkälaisia tunteita sisälläsi liikkuu, kun tiedät, että ajattelen sinua lämmöllä ja jotain syttyy myös sinussa? Haluai62836Syyskuussa 2025 ensirekisteröidyistä henkilöautoista 43 % oli täyssähköautoja.
Niitä rekisteröitiin 2 592 eli 41 % enemmän kuin vuotta aiemmin. Syyskuussa 2025 rekisteröidyistä uusista henkilöautois2759