Käytössäni on pitkä taulukko, jossa asiakokonaisuus on aina neljällä peräkkäisellä rivillä. Nyt olisi lisättävä jokaiseen kokonaisuuteen lisää rivi neljänneksi riviksi eli kokonaisuuteen kuuluu 5 samantyyppistä riviä. Lisärivi sisältää tiedon, joka lasketaan kaavalla ylemmistä riveistä. Onko ainoa keino tehdä yli tuhat riviä käsin?
Lisää rivejä taulukkoon
Pulma ja kiire
4115
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 4
Vanhimmat
Tämä on ratkaistu muuten, paitsi miten saada joka neljännen rivin jälkeen tyhjä rivi taulukkoon?
Tämmöinen koodinpätkä löytyi netistä.
Kun ajat makron ilmestyy ensin MsgBox, joka kysyy montako riviä laitetaan väliin. Eli sinun tapauksessasi anna siihen 1. Eli 1 tyhjä rivi aina vällin.
Muuta myös koodissa aloituspaikka jos tarpeen. Nyt siinä on:
Set r = Range("A4"), eli lisää ensimmäisen tyhjän rivin 4 jälkeen.
Jos makrot on ihan uusi asia, niin klikkaa sitä välilehteä (esim Taul1) johon koodi tulee hiiren oikealla ja valitse "näytä koodi". Avautuvaan ikkunaan kopioi alla oleva koodi:
Sub test()
Dim j As Long, r As Range
j = InputBox("Montako tyhjää riviä kerralla")
Set r = Range("A4")
Do
Range(r.Offset(1, 0), r.Offset(j, 0)).EntireRow.Insert
Set r = Cells(r.Row j 4, 1)
'MsgBox r.Address(the apostrophe in the beginning of this line makes this line non operable)
If r.Offset(1, 0) = "" Then Exit Do
Loop
End Sub
Aja makro. Alt F8 avaa makroikkunan josta valitse makro ja "Suorita"
Testaa ensin johonkin ennenkuin ajat makron että toimii kuten haluat ja sitten vasta "pääkohteeseen". Ota ensin varmuuskopio tiedostosta. Makroa ei voi enää perua ajon jälkeen.
Tämä lisää haluamasi rivit.
A-sarakkeen kaavana on neljän ylemmän solun summa.
Sub Macro()
r = 5
Do While Cells(r, 1) ""
Cells(r, 1).EntireRow.Insert
Cells(r, 1).FormulaR1C1 = "=SUM(R[-4]C:R[-1]C)"
r = r 5
Loop
End Sub
Isosti kiitoksia! Makrot ovat tuttuja, mutta tuota en tiennyt enkäolisi osannut...