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
504
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
YLE Äänekosken kaupunginjohtaja saa ankaraa arvostelua
Kaupungin johtaja saa ankaraa kritiikkiä äkkiväärästä henkilöstöjohtamisestaan. Uusin häirintäilmoitus päivätty 15 kesä741349Euroopan lämpöennätys, 48,8, astetta, on mitattu Italian Sisiliassa
Joko hitaampikin ymmärtää. Se on aivan liikaa. Ilmastonmuutos on totta Euroopassakin.2401237Martina lähdössä Ibizalle
Eikä Eskokaan tiennyt matkasta. Nyt ollaan jännän äärellä.1511051Asiakas iski kaupassa varastelua tehneen kanveesiin.
https://www.iltalehti.fi/kotimaa/a/33a85463-e4d5-45ed-8014-db51fe8079ec Oikein. Näin sitä pitää. Kyllä kaupoissa valtava2531026- 51755
- 64714
Jos ei tiedä mitä toisesta haluaa
Älä missään nimessä anna mitään merkkejä kiinnostuksesta. Ole haluamatta mitään. Täytyy ajatella toistakin. Ei kukaan em62707Miksi mies tuntee näin?
Eli olen mies ja ihastuin naiseen. Tykkään hänestä ja koskaan hän ei ole ollut minulle ilkeä. Silti ajoittain tunnen kui39678Se nainen näyttää hyvältä vaikka painaisi 150kg
parempi vaan jos on vähän muhkeammassa kunnossa 🤤44641- 30597