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
494
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
Zelenskyi ei suostunut nöyrtymään Trumpin ja Vancen edessä, siksi meni pieleen
Trumppia täytyy imarrella, silloin homma toimii aina. Tähän Zelenskyi ei suostunut.6565430Harmi että
Pidät niin vastenmielisenä. Olen minäkin välissä ollut ihan kamala sinulle ja ihmetellyt miten voit minusta tykätä. Se o212377- 1141637
Trump näytti slipoveri-ukolle kaapin paikan!
Slipoveri-ukko Ukrainan presidentti Volodimir Selenskyi meni tapaamaan valkoiseen taloon Trumppia ilman kunnon tuliaisia2391620- 931487
En rehellisesti usko et oisit
Sekuntiakaan oikeasti mua kaivannut. Tai edes miettinyt miten mulla menee. Jotenkin todennäköisesti hyödyt tästäkin jos231426Nainen, olet jotenkin lumoava
Katselen kauneuttasi kuin kuuta, sen loistoa pimeässä. Sen kaunis valo on kaunista sekä herkkää ja lumoavaa. Olet naisel681185Näin sinusta taas unta!
Unessa olin pakahtuneesti rakastunut sinuun. Olimme vanhassa talossa jossa oli yläkerran huoneissa pyöreät ikkunat. Pöly91163Kun Zele jenkeissä kävi
Enää ei Zele saanutkaan miljardeja ilmaista rahaa niin helposti. Läksyttivät oikein kunnolla pientä miestä ja joutui poi3241150Suomennettua: professori Jeffrey Sachs avaa Ukrainan sodan taustat luennollaan EU parlamentissa
Jeffrey Sachs on yhdysvaltalainen ekonomisti. Sachs toimii Columbian yliopiston The Earth Instituten johtajana. Aiemmin3241136