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
509
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
- 313010
- 951626
- 1271464
Mira Luoti ja Julkkisselviytyjät 2017 - Ketä kuumottaa juuri nyt?
HS: Tässä ohjelmassa Mira Luoti kertoi kokeneensa seksuaalista väkivaltaa "PMMP-yhtyeen Mira Luoti kertoo Ylen uudessa381306- 821209
Törkeä eläinsuojelurikos Sonkajärvellä
Pohjois-Savossa Sonkajärvellä noin 40 kissaa ja reilut 10 koiraa on jouduttu lopettamaan kaltoinkohtelun vuoksi, kertoo261099- 541018
Julkisuuden henkilön päiväin päätös
Sitä vaan, että kyllä nyt kaikki tietävät kuka oli Eemeli Peltola (kansanedustaja, joka päätti päivänsä eduskuntatalossa270971MESTARI SIVALTAA JÄLLEEN
https://www.is.fi/politiikka/art-2000011436243.html Suomen ainoa Mestari lausuu tosiasiat Sannasta , Tuomiojasta ja hil230958Jotkut ihmiset pelkäävät syöpää sairastavaa
On hauskaa, kun kertoo jollekin, että "minulla on syöpä". Jotkut käyttäytyvät kuin se olisi tarttuva tauti. Eivät uskall124937