Hei,
Onnistuuko poistaa JOS-ehdon täyttävien solujen rivit tulostuksen ajaksi ja miten saan rivit näppärästi taas näkyviin?
rivien poisto ja palautus
24
549
Vastaukset
ThsiWorkbook moduuliin...
Private Sub Workbook_BeforePrint(Cancel As Boolean)
On Error Resume Next
Application.EnableEvents = False
'muuta ehto sopivaksi
If ActiveSheet.Range("H1") = 1 Then
'muuta rivit sopivaksi
Rows("6:9").EntireRow.Hidden = True
ActiveWindow.SelectedSheets.PrintOut
Rows("6:9").EntireRow.Hidden = False
Cancel = True
Application.EnableEvents = True
End If
End Sub- on_ja_off
Kiitos vastauksesta Kunde. Rupesin pohtimaan omaa onelmaani ja tässä hieman tarkennusta.
Kun taulukkoni F-sarakkeelle satunnaisiin soluihin alueelle 4-100 näpytellään hintatietoja, haluaisin tarvittaessa piilottaa ko. rivit tulostuksen ajaksi ja tulostuksen jälkeen palauttaa piilotetut rivit takaisin.
Koitin JOS-funktiolla piilottaa solun hintatieto-sisältöä tyyliin: =JOS(F5>0;"") mutta tuolla alkeellisella kaavalla se ei ainakaan onnistu.
Kunde, sisältääkö koodisi minkälaisia elementtejä.. Ajatus oli, että tekemällä tuolle painonapin se piilottaisi ko. rivit ja toisella napilla palauttaisi rivien sisällön. Menikö metsään?
Haluaisin kovasti tällaisen ajatukseni toimivan käytännössä.
Eli avaisitko hieman koodisin logiikkaa, mikä rivi vaikuttaa mihinkäkin.
Rupean soveltamaan käytännössä tuota, kunhan pikkusen avaisit sitä. :))
Ps. Olen joitakin koodeja kyllä tuonne VB:n puolelle joskus onnistuneesti lisäillyt, luulisin onnistuvan tämänkin kanssa.
Kiitos etukäteen! koodi ThisWorkbook moduuliin...
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim solu As Range
'ohitetaan virhetilanteet
On Error Resume Next
'estetään Excelin reakointi tapahtumiin
Application.EnableEvents = False
'muuta ehto sopivaksi
'täsää käydään solualue läpi solu kerrallaan
For Each solu In Range("F4:F100")
'tarkistetaan onko hinta solussa
If Not IsEmpty(solu) Then
' piilotetaan rivi, jos hinta solussa
solu.EntireRow.Hidden = True
End If
Next
'tulostetaan sivu
ActiveWindow.SelectedSheets.PrintOut
'palautetaan piilotetut rivit
Rows("4:100").EntireRow.Hidden = False
'peruutetaan normaalitulostus
Cancel = True
'palautetaan Excel normaalitilaan
Application.EnableEvents = True
End Sub
Keep EXCEling
@Kunde- on_ja_off
No kappas, sain ekalla toimimaan. ;DD Aivan ihmeellisen loistavaa Kunde!
Nyt kun näki miten koodisi toimi ja vaikutti tulosteeseen, en voi olla kysymättä jatkomuutosta tälle.
Ihan aluksi, F-sarakkeeseen tulee siis hintatieto, jolla karsitaan tulosteesta ne rivit pois. Tämä toimii moitteetta. Voiko koodin muuttaa niin, että kahden sarakkeen ehdot huomioitaisiin?
Eli, E-sarake on määrä-sarake (4-100) -ja olisikin alunperin pitänyt kysyä:
Onnistuuko tulostuksen ajaksi poistaa ne rivit joiden E ja F -soluissa on määrä- ja hintatieto, sekä LISÄKSI ne rivit, joiden E-soluissa ei ole määrä-merkintää, eli tyhjä?
Tiivistäen: Poista tulostuksen ajaksi rivit jos E ja F -soluissa on tieto, sekä jos E-solu on tyhjä.
Lopulta tulostetaan vain ne rivit joiden E-solussa on määrä ja F-solu on tyhjä.
Toivottavasti en sotke hyvin toimivaa koodia, mutta kun se ruokahalu kasvoi. :)) Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim solu As Range
'ohitetaan virhetilanteet
On Error Resume Next
'estetään Excelin reakointi tapahtumiin
Application.EnableEvents = False
'muuta ehto sopivaksi
'täsää käydään solualue läpi solu kerrallaan
For Each solu In Range("F4:F100")
'tarkistetaan onko hinta solussa
If Not IsEmpty(solu) Or IsEmpty(solu.Offset(0, -1)) Then
' piilotetaan rivi, jos hinta solussa
solu.EntireRow.Hidden = True
End If
Next
'tulostetaan sivu
'ActiveWindow.SelectedSheets.PrintOut
'palautetaan piilotetut rivit
Rows("4:100").EntireRow.Hidden = False
'peruutetaan normaalitulostus
Cancel = True
'palautetaan Excel normaalitilaan
Application.EnableEvents = True
End Sub
Keep EXCEling
@Kunde- on_ja_off
Kiitos Kunde muutoksesta. En jostain syystä saa koodia toimimaan lainkaan.
Kun painan Ctrl P saan ruudulle sen normaalin tulostus-dialogi-ikkunan, joka ei tullut aiemmassa versiossa -joka siis lähti lukemaan rivejä ja "sorttasi" ne tulostuskuntoon. Tämä luku - ja sorttausvaihe ei siis tule tässä uudessa versiossa lainkaan.
Innokkaana vertailin tekemiäsi muutoksia, alla edellinen ja uusi rivi. Muuta eroa en löytänyt.
Ennen: If Not IsEmpty(solu) Then
Ja nyt: If Not IsEmpty(solu) Or IsEmpty(solu.Offset(0, -1)) Then
Kun en hallitse VB:tä, niin kysynkin, pitäisikö tuon muokatun rivin hanskata myös E-sarakkeen tieto, eli jos E-sarakkeen soluissakaan ei ole tietoa, piilotetaan myös ne rivit?
Annan mielelläni lisätietoa, jos on tarpeen. - Kundepuu
jäänyt koodiin hipsu tulostus riville
'ActiveWindow.SelectedSheets.PrintOut
eli poista hipsu
ActiveWindow.SelectedSheets.PrintOut
varmuudeksi suorita allaoleva makro kanssa ennen testiä
Sub Resetoi()
Application.EnableEvents = True
End Sub
Keep EXCEling
@Kunde - on_ja_off
On tää mahtava.. toimii hienosti, juuri kuten toivoin!!
Laitoit tuon lyhyen resetointi-makron postauksesi loppuun. Oliko tämä tarkoitus lisätä samaan moduuliin varsinaisen isomman koodin kanssa ja tuleeko se mahd. alkuun vai loppuun, vaiko peräti omaan moduuliin?
Huomasin, että täydellisyyttä tavoitellessa tulosteesta voisi jättää alun rivit 1-3 kokonaan pois ja ainoastaan sarakkeet A:sta F:ään olisivat ne oleelliset sarakkeet, mitä tarvitsen tulosteeseen.
Kysynkin, onnistuuko koodiisi lisäämään yo? Jos ei ole mahdollista, niin tämäkin jo pelkästään riittää, josta kiitänkin tosi paljon. Nuo lisäykset olisi kyllä mahtava viimeinen silaus. :)) Resetointi makro on siltä varalle, jos koodia askel askeleelta suoritat ja koko makroa ei ajeta loppuun syystä tai toisesta eli toi rivi jää suorimattamatta, ei Excelsitten reagoitapahtumiin. Siis ihan helpottamaan elämää toi koodi... ;-)
tossa nyt pyytämäsi päivitykset
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim solu As Range
'ohitetaan virhetilanteet
On Error Resume Next
'estetään Excelin reakointi tapahtumiin
Application.EnableEvents = False
'muuta ehto sopivaksi
'täsää käydään solualue läpi solu kerrallaan
For Each solu In Range("F4:F100")
'tarkistetaan onko hinta solussa
If Not IsEmpty(solu) Or IsEmpty(solu.Offset(0, -1)) Then
' piilotetaan rivi, jos hinta solussa
solu.EntireRow.Hidden = True
End If
Next
'määritellään tulostusalue
ActiveSheet.PageSetup.PrintArea = "$A$4:$F$100"
'tulostetaan sivu
ActiveWindow.SelectedSheets.PrintOut
'palautetaan piilotetut rivit
Rows("4:100").EntireRow.Hidden = False
'peruutetaan normaalitulostus
Cancel = True
'palautetaan Excel normaalitilaan
Application.EnableEvents = True
End Sub
Keep EXCELing
@Kunde- on_ja_off
Mainiota, suuri kiitos Kunde! Nyt meni elämä helpoksi. :)
Jos oikein ymmärsin, niin pystyykö siis koodiasi käymään läpi rivi-riviltä..? Miten se tapahtuu, kiinnostaisi!? Tuota makroa ei siis ole tarvinnut kertaakaan käyttää, kun koodisi on toiminut aivan loistavasti. Mutta hyvä tietää mihin tuo on tarkoitettu.
En ole lainkaan tyytymätön, mutta kun sulla tuntuu olevan ylivetainen taito tuottaa toimivaa koodia, niin en voi olla kysymättä, pystyykö tuota "sorttausta" pysäyttämään siihen hetkeen, ennen kuin se rupeaa tulostamaan, eli eräänlaiseen "esikatselutilaan" joka sitten hyväksytään tai perutaan esim Enterillä tai Esc-illä?
Korostan, tähänkin olen erittäin tyytyväinen ja kiitän vielä kerran ja mukavaa vkla. :)) Rivi riviltä koodinajo
Valitse koodinsta joku ei kommentti rivi ja painele F8 näppäintä ja koodia suoritetaan rivi kerrallaan. Voit lisätä stopin koodiin klikkaamalla sitä koodialueella vasemmalla olevaa harmaata palkkia hiiren vasemmalla painikkeella. Nyt koodi suoritetaan siihen stopiin asti ja ja jatketaan F8 ivi kerrallaan tai F5 loppuun asti.
Esikatselusta poistut ESC tai klikkaamalla poistunappia. Kysyy sitten haluatkotulostaa jne...
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim solu As Range
'ohitetaan virhetilanteet
On Error Resume Next
'estetään Excelin reakointi tapahtumiin
Application.EnableEvents = False
'muuta ehto sopivaksi
'täsää käydään solualue läpi solu kerrallaan
For Each solu In Range("F4:F100")
'tarkistetaan onko hinta solussa
If Not IsEmpty(solu) Or IsEmpty(solu.Offset(0, -1)) Then
' piilotetaan rivi, jos hinta solussa
solu.EntireRow.Hidden = True
End If
Next
'määritellään tulostusalue
ActiveSheet.PageSetup.PrintArea = "$A$4:$F$100"
'näytetään tulostuksen esikatselu
ActiveSheet.PrintPreview
x = MsgBox("Tulostetaanko?", vbYesNo, "Tulostus")
If x = 6 Then
'tulostetaan sivu
ActiveWindow.SelectedSheets.PrintOut
End If
'palautetaan piilotetut rivit
Rows("4:100").EntireRow.Hidden = False
'peruutetaan normaalitulostus
Cancel = True
'palautetaan Excel normaalitilaan
Application.EnableEvents = True
End Sub
Keep EXCELing
@Kunde- on_ja_off
Ei hitto.. teit sen sittenkin! Tämä oli kyllä hieno juttu!
Nyt ei tulekaan muuta paranneltavaa, enkä enää kehtaisi vaivatakaan sua sillä. ;D
En vielä testaillut koodisi rivi-riviltä ajoa, mutta teen sen vielä. Kiitos siitäkin.
Varsinainen taulukkoni palvelee ison porukan eräänlaista kauppaostoslistaa, jossa:
A-sarakkeella on ostoksen nimi
B-sarakkeella Laatu/merkki
C-sarakkeella Huomioitavat asiat
E-sarakkeella määrä
F-sarakkeella Hinta
G-sarakkeella Vuosiluku (esim. 2018) ja kust./hklö
H-sarakkeella...
... jne
... jne
Eli teen ostoksia listan tuotteista satunnaisessa järjestyksessä ja merkkaan ne taulkkoon hinta-sarakkeelle, kun määrä-sarakkeella on jo määrät merkitty.
Taulukossa on tuotteiden välissä myös ryhmien otsakkerivejä, joita ei ole tarve tulostaa.
Tämän koodisi ajo auttaa hahmottamaan puuttuvat hankinnat ja on näppärä tulostaa "ostoslista" mukaan kauppaan. :)
Tämä tuli siis tosiaan tarpeeseen! Kiitos vielä Kunde!
Ps. No sellainen pyörähti mielessä, että pystyykö nuo esikatselutiedot kopioimaan ihan editoitavassa muodossa esim. alkamaan riviltä A130. Ne voisi ihan jäädäkin sinne paikalleen, näin voisin ne tarvittaessa kopioida sieltä ja lähettää jollekin vaikka sähköpostilla.
Eli tämmöinen pieni lisäys, jos ei kuulosta mahdottomalta. :D Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim solu As Range
Dim x
'ohitetaan virhetilanteet
On Error Resume Next
'estetään Excelin reakointi tapahtumiin
Application.EnableEvents = False
'muuta ehto sopivaksi
'täsää käydään solualue läpi solu kerrallaan
For Each solu In Range("F4:F100")
'tarkistetaan onko hinta solussa
If Not IsEmpty(solu) Or IsEmpty(solu.Offset(0, -1)) Then
' piilotetaan rivi, jos hinta solussa
solu.EntireRow.Hidden = True
End If
Next
'määritellään tulostusalue
ActiveSheet.PageSetup.PrintArea = "$A$4:$F$100"
'näytetään tulostuksen esikatselu
ActiveSheet.PrintPreview
x = MsgBox("Tulostetaanko?", vbYesNo, "Tulostus")
If x = 6 Then
'tulostetaan sivu
ActiveWindow.SelectedSheets.PrintOut
Range("A130:A230").Delete
Range("1:100").SpecialCells(xlCellTypeVisible).Copy Range("A130")
End If
'palautetaan piilotetut rivit
Rows("4:100").EntireRow.Hidden = False
'peruutetaan normaalitulostus
Cancel = True
'palautetaan Excel normaalitilaan
Application.EnableEvents = True
End Sub
Keep EXCELing
@Kunde- on_ja_off
Iltaa taas Kunde ja tänks viimeisimmästä muutoksesta! Tuo toimii ihan loistavasti, ei siis valittamista.
Jos osaisin VB:n saloja, lähtisin itse hienosäätämään tuota viimeisintä toivettani, mutta kun en osaa. Kysynkin, onnistuisiko jättää ne kopioidut rivit sinne A130:A230 alueelle, vaikka peruisinkin tulostuksen? Nythän täytyy ensin tulostaa ja sen jälkeen ne kopioidut vasta näkyy siellä alhalla.
Tämmöinen pieni toive siis olisi vielä -kun ennätät. Ei siis kiirettä. :DD - Kundepuu
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim solu As Range
Dim x
'ohitetaan virhetilanteet
On Error Resume Next
'estetään Excelin reakointi tapahtumiin
Application.EnableEvents = False
'muuta ehto sopivaksi
'täsää käydään solualue läpi solu kerrallaan
For Each solu In Range("F4:F100")
'tarkistetaan onko hinta solussa
If Not IsEmpty(solu) Or IsEmpty(solu.Offset(0, -1)) Then
' piilotetaan rivi, jos hinta solussa
solu.EntireRow.Hidden = True
End If
Next
'kopioidaan tiedot alas
Range("A130:A230").Delete
'jos et halua 1-3 riviä siirtää vaihda hipsun paikka allaolevilla 2 rivillä
'Range("4:100").SpecialCells(xlCellTypeVisible).Copy Range("A130")
Range("1:100").SpecialCells(xlCellTypeVisible).Copy Range("A130")
'määritellään tulostusalue
ActiveSheet.PageSetup.PrintArea = "$A$4:$F$100"
'näytetään tulostuksen esikatselu
ActiveSheet.PrintPreview
x = MsgBox("Tulostetaanko?", vbYesNo, "Tulostus")
If x = 6 Then
'tulostetaan sivu
ActiveWindow.SelectedSheets.PrintOut
End If
'palautetaan piilotetut rivit
Rows("4:100").EntireRow.Hidden = False
'peruutetaan normaalitulostus
Cancel = True
'palautetaan Excel normaalitilaan
Application.EnableEvents = True
End Sub
Keep EXCELing
@Kunde - on_ja_off
Tänks Kunde, testailen kunhan pääsen hu kotikoneelleni ja palaan asiaan.:)
- on_ja_off
Hei Kunde, iso kiitos viimeisimmästä muutoksesta, tuo kopion jättäminen joka tapauksessa sinne alas oli erittäin tervetullut päivitys taulukkooni!
Juuri nyt ei pinnistämälläkään tule mieleen mitä tähän voisi lisätä tai poistaa, sen verran mainio tämä nyt on. :))
Ps. Tämä alla oleva valinnan mahdollisuus oli mainio lisä tai ominaisuus, voi olla hyväkin joskus valita nuo 1-3 rivin kopiointi! Kiitos tästä oivalluksesta erikseen. Tulee varmasti käyttöön.
##
'jos et halua 1-3 riviä siirtää vaihda hipsun paikka allaolevilla 2 rivillä
'Range("4:100").SpecialCells(xlCellTypeVisible).Copy Range("A130")
Range("1:100").SpecialCells(xlCellTypeVisible).Copy Range("A130")
##
Tuota rivi-riviltä ajoakin kokeilen vielä joskus erikseen..
Jos jotain päivitystarvetta tulee itselle vielä mieleen, voin varmaankin vaivata sinua vielä! -Toivottavasti :D - on_ja_off
Kundelle lisäkysymys!
Tekemääni ja auttamaasi yo. taulukkoa käytän Ms Office 2007 -versiossa ja siinä se toimii hienosti.
Lähetin spostilla taulukon kaverilleni testattavaksi ja suureksi yllätykseksi se ei toiminutkaan Ms Office 2010 -versiossa!!
Tässä vielä tarkennuksena, miten ei toiminut ja mitä kaikkea yritimme itse tehdä:
Toimimattomuus ilmeni Ms Office 2010 -versiossa siten, että ruvettaessa tulostamaan (Ctrl p) - Exceli ei ruvennut ns. "sorttaamaan" tulostettavia rivejä, vaan siirtyi suoraan tulostuksen esinäkymään, jossa näkyi KAIKKI rivit, vaikka osa riveistä EI pitäisi tulostua!
Peruutettaessa tulostusksen esinäkymä lähtötilanteeseen, ei edes rivistä 130 lähtien tullut niitä kopioituja rivejä. Toisin sanoen jostain syystä Ms 2010:ssä koodisi ei toiminut lainkaan.
Itse kokeiluja keinoja oli useita:
-otettu käyttöön kaikki makrot
-Salli VBA-projektin objektimallin käyttäminen
-tallennettu eri nimelle (salli makrojen käyttö)
-kokeilimme jopa edestakaisin liitteen lähettämistä -lopputulos minulla toimi, mutta ei kaverilla.
-Taulukossa on lisäksi J-sarakkeessa JOS-funktioita, mutta ne näkyvät ja toimivat normaalisti kaikissa tilanteissa molemmilla.
Enää ei tule mieleen mitään kotikonsteja.
Tulisiko sinulle mitään mieleen, miksi 2007:ssa toimii, mutta ei 2010:ssä? Yleensähän nämä ohjelmat toimivat alaspäin, eli uusimmissa versioissa toimii myös vanhemmat taulukot ja työkirjat.- on_ja_off
Lisäyksenä vielä, että kaverillani on kotioloissa Windows 10 ja töissä Windows 7 versiot. Kummassakaan (Kunden) koodi ei toiminut. Käytössä siis Office 2010.
Aika ihmeellistä, että se toimii mulla Win7 ja Office 2007:ssä!
vaikeeta vastata kun bannaa mut kokoajan...
tein videon , missä mun 2010 ohjelma toimii ihan Ok
Tsekkaa ja kokeile alla olevalla koodilla ja jos herjaa jotakin, niin infoa
tossa koodi
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim solu As Range
Dim x
'ohitetaan virhetilanteet
On Error Resume Next
'peruutetaan normaalitulostus
Cancel = True
'estetään Excelin reakointi tapahtumiin ja näytön päivitysa pois
Application.EnableEvents = False
Application.ScreenUpdating = False
'muuta ehto sopivaksi
'täsää käydään solualue läpi solu kerrallaan
For Each solu In Range("F4:F100")
'tarkistetaan onko hinta solussa
If Not IsEmpty(solu) Or IsEmpty(solu.Offset(0, -1)) Then
' piilotetaan rivi, jos hinta solussa
solu.EntireRow.Hidden = True
End If
Next
'kopioidaan tiedot alas
Range("130:230").Delete
'jos et halua 1-3 riviä siirtää vaihda hipsun paikka allaolevilla 2 rivillä
'Range("4:100").SpecialCells(xlCellTypeVisible).Copy Range("A130")
Range("1:100").SpecialCells(xlCellTypeVisible).Copy Range("A130")
'Range("4:100").SpecialCells(xlCellTypeVisible).Copy Range("A130")
'määritellään tulostusalue
ActiveSheet.PageSetup.PrintArea = "$A$4:$F$100"
'näytetään tulostuksen esikatselu
ActiveSheet.PrintPreview
x = MsgBox("Tulostetaanko?", vbYesNo, "Tulostus")
If x = 6 Then
'tulostetaan sivu
ActiveWindow.SelectedSheets.PrintOut
End If
'palautetaan piilotetut rivit
Rows("4:100").EntireRow.Hidden = False
'palautetaan Excel normaalitilaan
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Keep EXCELing
@Kundeunohtui se linkki videolle
https://www.dropbox.com/s/jajgi6oimsjdv44/Suomi24.mp4?dl=0- on_ja_off
Jep, kiitos videosta.. katsoin sen ja kokeilin muokatulla koodillasi omalla koneellani (Win7 Office2007) ja toimii loistavasti.
Tuo ns. "sorttaus" toimii nyt piilossa tiimalasia näyttämällä ja hypähtää siitä sitten esikatselutilaan. Aiemmin tuo sorttaus tapahtui konkreettisesti silmien edessä rivejä piilottamalla ja siitä sitten hypähti esikatselutilaan.
Kaverini kokeili myös kotonaan tätä uutta versiota (Win10 Office2010), eikä toiminut kuten piti.
Eli, sorttausta ei tapahdu ja näyttää esikatselussa kaikki rivit. Toisaalta, sarakkeita se näyttää vain A-F:n, eli jotain se tekee kyllä. ;D - Kundepuu
pyydä kaveriasi ajamaan alla oleva koodi rivi riviltä (hipsattu muutama rivi)
tuleeko virheilmoitusta tai mitään muita ilmoituksia?
Ei kyllä pitäisi olla mitään yhteensopivuusongelmia
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim solu As Range
Dim x
'ohitetaan virhetilanteet
'On Error Resume Next
'peruutetaan normaalitulostus
Cancel = True
'estetään Excelin reakointi tapahtumiin ja näytön päivitysa pois
'Application.EnableEvents = False
'Application.ScreenUpdating = False
'muuta ehto sopivaksi
'täsää käydään solualue läpi solu kerrallaan
For Each solu In Range("F4:F100")
'tarkistetaan onko hinta solussa
If Not IsEmpty(solu) Or IsEmpty(solu.Offset(0, -1)) Then
' piilotetaan rivi, jos hinta solussa
solu.EntireRow.Hidden = True
End If
Next
'kopioidaan tiedot alas
Range("130:230").Delete
'jos et halua 1-3 riviä siirtää vaihda hipsun paikka allaolevilla 2 rivillä
Range("1:100").SpecialCells(xlCellTypeVisible).Copy Range("A130")
'Range("4:100").SpecialCells(xlCellTypeVisible).Copy Range("A130")
'määritellään tulostusalue
ActiveSheet.PageSetup.PrintArea = "$A$4:$F$100"
'näytetään tulostuksen esikatselu
ActiveSheet.PrintPreview
x = MsgBox("Tulostetaanko?", vbYesNo, "Tulostus")
If x = 6 Then
'tulostetaan sivu
ActiveWindow.SelectedSheets.PrintOut
End If
'palautetaan piilotetut rivit
Rows("4:100").EntireRow.Hidden = False
'palautetaan Excel normaalitilaan
'Application.EnableEvents = True
'Application.ScreenUpdating = True
End Sub - on_ja_off
Testailimme kaverin kanssa koodiasi rivi-riviltä ajaen.. hämmästys oli suuri -se toimi!
Kaverilla siis Win10 Office2010 ja mulla Win7 Office2007.
Siirryimme suorittamaan varsinaista koodin ajoa käytännössä.
Minulla Ctrl P -->tulostuksen esikatselu, jossa näkyi valmis sorttaus --> ja tulosta.
Mulla edelleen kaikki ok.
Kaveri: Ctrl P -->hänelle tuli tulostuksen "välinäkymä", jossa rivit 1-3 oli poistettu, mutta näkyi kuitenkin kaikki muut rivit 4-100, eli jotain sorttausta oli tapahtunut jo tässäkin vaiheessa.
Tämän jälkeen kaverin piti painaa tuossa tilassa "Tulosta" nappia, kuten sinäkin teit videolla -jolloin tuli varsinainen tulostuksen esinäkymä ja kaikki sorttaukset oikein, eli juuri kuten pitikin ja --> tulosta.
Tämän viimeisen komennon hokasimme aivan loppumetreillä ennen kuin meinasimme luovuttaa.
Toki videon katsominenkin avasi hieman silmiämme.
Eli, W10:n ja W7:n välillä on hieman eroa noissa esinäkymissä, eikä osattu sitä aluksi epäillä.
Mutta homma kunnossa ja suuri kiitos taas sulle panostamisesta.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Kuvat! Dannyyn liitetty Helmi Loukasmäki, 22, on puhjennut naisena kukkaan - Some sekoaa: "Sä..."
Ooo, kaunis aikuinen nainen Helmistä on kasvanut siinä yli 80-vuotiaan Dannyn rinnalla! Katso uudet kuvat: https://ww574270- 472911
Suodatinpussin kastelemalla saa parempaa kahvia
Kokeilin niksiä ja kyllä tämä kahvi on parempaa nyt. Ei lainkaan maistu paperiselta. Huljuttelee hanan alla suppiloa pap1322185Tidätkö nainen
että suoraan sanottuna v.tut.aa että pääsit näin lähelle minua. Ei olisi oikeasti aikaa tähän mutta silti aina välillä o1051896Mikä on kaivattusi etunimi?
Otsikossa siis on kysymys eriteltynä. Vain oikeat vastaukset hyväksytään.681410Onkohan sinulla kaikki hyvin?
Nyt vähän sellainen outo tunne tuli. Sinun asiasi niin ei minulle toki tarvitse kertoa. Kunhan mietin...381177- 1731066
Huikeeta, mahtavaa, ihan mielettömän upeeta
Me ostettiin talo Espanjasta. Tosin saadaan käyttää sitä vain muutama viikko vuodessa kun on monta muutakin ostajaa! M1881062En kestä katsoa
Sitä miten sinusta on muut kiinnostuneita. Olen kateellinen. Siksi pitäisi lähteä pois871048Oho! Arja Koriseva paljastaa TTK:n ekasta suorasta lähetyksestä: "On vähän ärsyttävä yhtälö!"
Upea Arja Koriseva! Tsemppiä haasteelliseen tilanteeseen! Lue lisää: https://www.suomi24.fi/viihde/oho-arja-koriseva-161022