Oisko jollai vinkkiä miten lähteä toteuttamaan...
Esim. on alue B2:B55, ja makro piilottaisi/poistaisi ne rivit jotka on tyhjiä?
Rivin piilotus makrolla?
16
1070
Vastaukset
- 15+19
Keksisinkin jo itse, mutta onko paras ratkaisu?
Range("B2:B55").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Delete Shift:=xlUpoikea ratkaisu...
tossa nauhoittimen makro siistittynä
Range("B2:B55").SpecialCells(xlCellTypeBlanks).Delete
Keep Excel
@Kunde
- pohdiskelua1
Eikö pikasuodatus käy, sillä saa tyhjät piiloon
ja Poista kaksoiskappaleet, sillä saa tyhjät pois - pohdiskelua1
Jos taulukossa jossain on yksittäisiä tyhjiä soluja, esittämänne makro poistaa nuo tyhjät solut ja samalla sotkee tietorivit. Testasin asian.
Makro toimii tarkoituksenmukaisesti vain jos koko rivi on kokonaan tyhjä.
Aika iso riski mielestäni- Tyhjät piiloon
Sub Piilota()
For Each solu In Range("B2:B55")
If solu = "" Then Rows(solu.Row).RowHeight = 0
Next solu
End Sub
Sub Näytä()
Rows("2:55").EntireRow.AutoFit
End Sub
- 15+19
Piru toi ei osaakkaa valita niit soluja mis kaava antaa "" arvon solulle.
For i = Range("B2:B55").Cells.Count To 1 Step -1
If Len(Range("B2:B55").Cells(i)) = 0 Then Range("B2:B55").Cells(i).EntireRow.Delete
Next i
Keep EXCELing
@Kunde
- lijij
Toi, siis makroko?
- 6+3
Kiitos kunde, ot sä kyl proo
- 19+19
Osaatkos Kunde sanoa mikä Excelin ominaisuus kun käytän tuota rivien piilotus makroa mutta se siirtää sen alla olevat kaaviot alemmas?
Jos käyn siinä välilehdessä johon se tekee sen piilotuksen niin silloin se ei siirrä niitä kaavioita. ei mennyt jakeluun...
eli jos suoritat makron esim. taul1 ollessa aktiivinen ja jossa kaavio niin
1. kaavio siirtyy
2. kaavio ei siirry
jos esim. taul 2 aktiivisena ja suoritat makron ja aktivoit sitten taulukon niin
3. kaavio siirtyy
4. kaavio ei siirry
mikä noista toteutuu?
Leep EXCeling
@Kunde- 4+1
Selitän alusta, eli mulla on välilehti jossa on alussa kaikenlaista tekstiä, sitten on taulukko jossa suoritan yllä olevan makron ja sen alapuolella on kaavioita, mutta kun suoritan makron ilman että käyn itse kyseisellä välilehdellä niin makro siirtää alla olevat kaaviot alespäin.
Eli mulla on taul1 esillä jossa on nappi joka suorittaa makron, eli poistaa kyseiset rivit taul2 jossa myös kaaviot niin silloin siirtyy kaaviot mutta kun käyn taul2 ja menen takaisin taul1 ja painan nappia (suoritan makron) niin kaaviot ei siirry.
Outoa voitko liittää sen poistokoodin tänne?
- 13+4
Application.Run "suojaus_auki"
Application.ScreenUpdating = False
Sheets("STEP4").Select
Range("A9").Select
For d = Range("A39:A237").Cells.Count To 1 Step -1
If Len(Range("A39:A237").Cells(d)) = 0 Then Range("A39:A237").Cells(d).EntireRow.Delete
Next d
Sheets("Kaaviot").Select
Range("A2:B205").Select
ActiveWorkbook.Worksheets("Kaaviot").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Kaaviot").Sort.SortFields.Add Key:=Range("B2"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("Kaaviot").Sort
.SetRange Range("A3:B205")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A208:B411").Select
ActiveWorkbook.Worksheets("Kaaviot").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Kaaviot").Sort.SortFields.Add Key:=Range("B208"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("Kaaviot").Sort
.SetRange Range("A209:B411")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A415:B618").Select
ActiveWorkbook.Worksheets("Kaaviot").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Kaaviot").Sort.SortFields.Add Key:=Range("B415"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("Kaaviot").Sort
.SetRange Range("A416:B618")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
For c = Range("B417:B618").Cells.Count To 1 Step -1
If Len(Range("B417:B618").Cells(c)) = 0 Then Range("B417:B618").Cells(c).EntireRow.Delete
Next c
For b = Range("B210:B411").Cells.Count To 1 Step -1
If Len(Range("B210:B411").Cells(b)) = 0 Then Range("B210:B411").Cells(b).EntireRow.Delete
Next b
For a = Range("B4:B205").Cells.Count To 1 Step -1
If Len(Range("B4:B205").Cells(a)) = 0 Then Range("B4:B205").Cells(a).EntireRow.Delete
Next a
Sheets("Laskenta").Select
Application.ScreenUpdating = False
Application.Run "suojaus_kiinni" Unohda toi äsköinen, siis siinä taulussa jossa kaaviot siirtyy niin tekee tämän makron
Sheets("STEP4").Select
Range("A9").Select
For d = Range("A39:A237").Cells.Count To 1 Step -1
If Len(Range("A39:A237").Cells(d)) = 0 Then Range("A39:A237").Cells(d).EntireRow.Delete
Next den kyllä nyt keksi mitään syytä miksi makro toimii eritavoin eripaikasta...
koodin lopussa sulla on
Application.ScreenUpdating = False
ehkäpä se pitäisi olla
Application.ScreenUpdating = True
mutta ei se auta tohon siirtymiseen mun mielestä.Seuraava ohje ainaskin estää taulukon liikkumisen...
klikkaa kaaviota hiren oikealla ja avautuvasta valikosta klikkaa sitä alinta muotoile kaavio aluetta.
Sitten avautuvasta valikosta klikkaat vasemmalta ominaisuudet ja edelleen aukeavasta valitse ylhäältä objektin apaikan vaihtoehdoista se alin eli älä siirrä ja muuta kokoa solujen mukaan.
En tiedä mten noi on kirjoitettu suomiversiossa, mutta jotain sinne päin kuiteskin...
.
taai lisää koodiin...
ActiveSheet.ChartObjects("KAAVION NIMI").Placement = xlFreeFloating
Auttoiko?
Keep EXCELing
@Kunde
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Näin Enter-napilla tehdään miljardi euroa - Helsingissä
"Ei se nyt niin kovin ihmeelliseltä näytä. Tavallinen nappi, musta muovinpala, joka kököttää parikymppiä maksavan mustan1711213Eipä tunnu se "pedofilia" huuto kiinnostavan
Lähinnä se sekohäirikkö ressukka joutuu itse vastaileen itselleen, mitään näkyvyyttä ei saa, palstalla ylipäätään on hyv8010351- 514423
- 244127
Perussuomalaiset kirjoittaa vain positiivisista uutisista
Ei tarvitse palstaa paljon seurata, kun sen huomaa. Joka ainoa positiivinen uutinen Suomen taloudesta tai ylipäätään, ni164082Jätä minut rauhaan
En pidä sinusta. Lopeta seuraaminen. Älä tulkitse keskustelutaitoa tai ystävällisyyttä miksikään sellaiseksi mitä ne eiv353866Ben Z: "SDP ei ole ollut 50 vuoteen näin huolissaan velasta"
"– Olen ollut eduskunnassa noin 50 vuotta, eikä SDP ole koskaan ollut niin huolissaan velasta kuin nyt. Se on tietysti h573779No kyllä te luuserit voitte tehdä mitä vaan keskenänne, sitä en ymmärrä miksi pelaat,nainen
Pisteesi silmissäni, edes ystävätasolla tippui jo tuhannella, kun sain selville pelailusi, olet toisen kanssa, vaikka ol413603- 553301
- 423025