Päällekkäisyyksien poisto

Exceltuska

Eli ongelma on että esim. sarakkeessa A on numerosarjoja joihin suoritetaaan päällekkäisyyksien poistoa. Se toimii oikein, mutta otsikko rivillä on filtterit ja jos valitsen sarakkeen B filtteristä näkyviin vain jonkin tietyn aiheen niin päällekkäisyyksien poisto ei enää tomikkaan kuten pitäisi. Tässäpä vähän esimerkkiä...

Sarake A Sarake B
1234 Joulukuu
1232 Tammikuu
1234 Tammikuu
1222 Helmikuu
1222 Helmikuu

Eli jos nyt sarakkeesta B valitsee näkyviin vain tammikuun ja suorittaa päällekkäisyyksien poiston sarakkeeseen A niin tämä viimeinen tammikuu ei tule näkyvvin, koska makro piilottaa sen rivin...mitenhän tälläisen voisi toteuttaa, että makro piilottaisi sellaiset rivit joilla sarakkeet A ja B tiedot esiintyvät useammin kuin kerran. Eli tässä tapauksessa piilottaisi toisen helmikuun rivin.

Ei vaadi varmaan kovin suurta muutosta makroon muttei enää taidot riitä....

25

1236

    Vastaukset 25

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • minkähänlainen se sun makros mahtaa olla, mitä pitäs muuttaa???
      tottahan voin tehdä omankin version, mutta mielenkiinnosta haluan nähdä sinunkin version....

      • Excelltuska

      • Exceltuska

        Laitan tähän nyt tätä pätkää mitä oon pyöritelly...en ole varma onko tämä ihan kaukaa haettua koska tämä vba ei kovinkaan hyvin ole tiedossa...

        Sub PiilotaTuplaRivit()
        Dim vika As Long
        Dim i As Long
        Dim Alue As Range
        Set Alue = Range("C65536;G65536")
        vika = Range("Alue").End(xlUp).Row
        For i = vika To 1 Step -1
        If Application.WorksheetFunction.CountIf(Range("C1:C" & i), Range("C" & i)) > 1 Then
        Range("C" & i).EntireRow.Hidden = True
        End If
        Next i

        Toi rivi missä olen yrittänyt asettaa aluetta, ei pelaa ja tuohon "if application" -riville en ole osannut muutoksia oikeen edes tehdä...Olen myös pyöritellyt offset käskyä mutten saa silläkään pelaan...

        Kiitos että jaksatte avittaa aloitteijaa! :)


      • Exceltuska kirjoitti:

        Laitan tähän nyt tätä pätkää mitä oon pyöritelly...en ole varma onko tämä ihan kaukaa haettua koska tämä vba ei kovinkaan hyvin ole tiedossa...

        Sub PiilotaTuplaRivit()
        Dim vika As Long
        Dim i As Long
        Dim Alue As Range
        Set Alue = Range("C65536;G65536")
        vika = Range("Alue").End(xlUp).Row
        For i = vika To 1 Step -1
        If Application.WorksheetFunction.CountIf(Range("C1:C" & i), Range("C" & i)) > 1 Then
        Range("C" & i).EntireRow.Hidden = True
        End If
        Next i

        Toi rivi missä olen yrittänyt asettaa aluetta, ei pelaa ja tuohon "if application" -riville en ole osannut muutoksia oikeen edes tehdä...Olen myös pyöritellyt offset käskyä mutten saa silläkään pelaan...

        Kiitos että jaksatte avittaa aloitteijaa! :)

        jos tota käytät, ei toimi, koska Alue määritelty väärin...
        mutta
        siis haluat, että B sarakkeessa tehdään haku kuukausilla(arvaus ;-)) ja näytetään uniikit?
        voiko tuloksen näyttää muualla kuin originaalipaikassa?
        käykö lomake?

        kerro lisää...

        Keep Excelling
        @Kunde


      • ET
        kunde kirjoitti:

        jos tota käytät, ei toimi, koska Alue määritelty väärin...
        mutta
        siis haluat, että B sarakkeessa tehdään haku kuukausilla(arvaus ;-)) ja näytetään uniikit?
        voiko tuloksen näyttää muualla kuin originaalipaikassa?
        käykö lomake?

        kerro lisää...

        Keep Excelling
        @Kunde

        Eli sarakkeessa C on lukuja ja sarakkeessa G on kuukaudet. Ja tarkoituksena olisi että makro lukisi näitä sarakkeita ja sitten kun löytyy kaksi tai useampia samanlaisia yhdistelmiä niin ylimääräiset rivit tulisi piilottaa...


      • ET kirjoitti:

        Eli sarakkeessa C on lukuja ja sarakkeessa G on kuukaudet. Ja tarkoituksena olisi että makro lukisi näitä sarakkeita ja sitten kun löytyy kaksi tai useampia samanlaisia yhdistelmiä niin ylimääräiset rivit tulisi piilottaa...

        moduuliin...

        Sub PiilotaTuplat()
        Dim vika As Integer
        vika = Range("C65336").End(xlUp).Row
        Range("C1:G" & vika).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
        End Sub

        Sub NäytäKaikki()
        ActiveSheet.ShowAllData
        End Sub

        Keep Excelling
        @Kunde


      • ET
        kunde kirjoitti:

        moduuliin...

        Sub PiilotaTuplat()
        Dim vika As Integer
        vika = Range("C65336").End(xlUp).Row
        Range("C1:G" & vika).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
        End Sub

        Sub NäytäKaikki()
        ActiveSheet.ShowAllData
        End Sub

        Keep Excelling
        @Kunde

        No muuten toimii mutta mun pohjatiedot oli vielä vähän vajaat...

        Eli listaus alkaa vasta riviltä 14 ja rivillä 13 on käytetty autofiltter systeemiä, jonka tulisi olla toiminnassa myös rivien piilotuksen jälkeen. Eli ilmeisesti tässä ei voi käyttää tuota suodatusta??


      • ET kirjoitti:

        No muuten toimii mutta mun pohjatiedot oli vielä vähän vajaat...

        Eli listaus alkaa vasta riviltä 14 ja rivillä 13 on käytetty autofiltter systeemiä, jonka tulisi olla toiminnassa myös rivien piilotuksen jälkeen. Eli ilmeisesti tässä ei voi käyttää tuota suodatusta??

        ei voi käyttää suodatusta.
        Mutta kikkaillahan aina voi...

        Keep Excelling
        @Kunde


      • ET
        kunde kirjoitti:

        ei voi käyttää suodatusta.
        Mutta kikkaillahan aina voi...

        Keep Excelling
        @Kunde

        No sen voin vielä kertoa ettei toi vba kikkailu oikein onnistu vaikka yrittää kirjan kanssa...
        Mut Makroa siihen että lukee sarakkeet C (luku)ja G (kuukausi) ja piilottaa tuplat....ja listaus alkaa riviltä 14 ja jatkuu taulukon loppuun....


      • ET kirjoitti:

        No sen voin vielä kertoa ettei toi vba kikkailu oikein onnistu vaikka yrittää kirjan kanssa...
        Mut Makroa siihen että lukee sarakkeet C (luku)ja G (kuukausi) ja piilottaa tuplat....ja listaus alkaa riviltä 14 ja jatkuu taulukon loppuun....

        Autofilter pois käytöstä...

        nyt kun solut C13 tai G13 muuttuu niin suodattaa uniikit solun mukaan. Jos solu tyhjä niin näyttää kaikki.
        Suodatussoluihinhan voisi tietenkin lisätä combon ja sen arvoiksi uniikit sarakkeesta ja näin ollen toimisi kuten suodatusnappikin...
        no siinä purtavaa sulle- varmasti palstalta löytyy mun koodinpätkä siihenkin, joten hakua peliin...
        G13 solussa voit käyttää vaikka KELPOISUUSEHTOA listan lähteeksi tammi;helmi;maalis jne.

        taulukon moduuliin...

        Private Sub Worksheet_Change(ByVal Target As Range)
        Dim vika As Integer
        Dim solu As Range

        On Error Resume Next
        ActiveSheet.ShowAllData
        vika = Range("C65336").End(xlUp).Row
        Application.EnableEvents = False

        If Not Intersect(Target, Range("C13")) Is Nothing Then
        If Target = "" Then
        Range("G13") = ""
        GoTo poistu
        End If
        Range("C13:G" & vika).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
        For Each solu In Range("C14:C" & vika).SpecialCells(xlCellTypeVisible)
        If Not solu = Range("C13") Then
        solu.EntireRow.Hidden = True
        End If
        Next solu
        Range("G13") = ""
        End If
        If Not Intersect(Target, Range("G13")) Is Nothing Then
        If Target = "" Then
        Range("C13") = ""
        GoTo poistu
        End If
        Range("C13:G" & vika).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
        For Each solu In Range("G14:G" & vika).SpecialCells(xlCellTypeVisible)
        If Not solu = Range("G13") Then
        solu.EntireRow.Hidden = True
        End If
        Next solu
        Range("C13") = ""
        End If
        poistu:
        Application.EnableEvents = True
        End Sub

        ' jos sattuu moka, niin toimintojen palautuskoodi alla

        Sub Resetoi()
        On Error Resume Next
        Application.EnableEvents = True
        ActiveSheet.ShowAllData
        End Sub


      • ET
        kunde kirjoitti:

        Autofilter pois käytöstä...

        nyt kun solut C13 tai G13 muuttuu niin suodattaa uniikit solun mukaan. Jos solu tyhjä niin näyttää kaikki.
        Suodatussoluihinhan voisi tietenkin lisätä combon ja sen arvoiksi uniikit sarakkeesta ja näin ollen toimisi kuten suodatusnappikin...
        no siinä purtavaa sulle- varmasti palstalta löytyy mun koodinpätkä siihenkin, joten hakua peliin...
        G13 solussa voit käyttää vaikka KELPOISUUSEHTOA listan lähteeksi tammi;helmi;maalis jne.

        taulukon moduuliin...

        Private Sub Worksheet_Change(ByVal Target As Range)
        Dim vika As Integer
        Dim solu As Range

        On Error Resume Next
        ActiveSheet.ShowAllData
        vika = Range("C65336").End(xlUp).Row
        Application.EnableEvents = False

        If Not Intersect(Target, Range("C13")) Is Nothing Then
        If Target = "" Then
        Range("G13") = ""
        GoTo poistu
        End If
        Range("C13:G" & vika).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
        For Each solu In Range("C14:C" & vika).SpecialCells(xlCellTypeVisible)
        If Not solu = Range("C13") Then
        solu.EntireRow.Hidden = True
        End If
        Next solu
        Range("G13") = ""
        End If
        If Not Intersect(Target, Range("G13")) Is Nothing Then
        If Target = "" Then
        Range("C13") = ""
        GoTo poistu
        End If
        Range("C13:G" & vika).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
        For Each solu In Range("G14:G" & vika).SpecialCells(xlCellTypeVisible)
        If Not solu = Range("G13") Then
        solu.EntireRow.Hidden = True
        End If
        Next solu
        Range("C13") = ""
        End If
        poistu:
        Application.EnableEvents = True
        End Sub

        ' jos sattuu moka, niin toimintojen palautuskoodi alla

        Sub Resetoi()
        On Error Resume Next
        Application.EnableEvents = True
        ActiveSheet.ShowAllData
        End Sub

        Eli nyt alkaa meneen jo korkealta yli :) tarttis sitä rautalankaa...En osaa liittää tuota private subia buttoniin ett voisi kokeilla. Vai lukeeko tuo pätkä solujen C13 ja G13 tietoja...
        Elikkä mitä monimutkasemmaksi tämä menee niin sitä enemmän tulee kysyttävää.

        Tällä hetkellä on käytössä makro joka piilottaa tuplat sarakkeesta C, se on tässä:

        Sub PiilotaTuplaRivit()
        Dim vika As Long
        Dim i As Long
        vika = Range("C65536").End(xlUp).Row
        For i = vika To 1 Step -1
        If Application.WorksheetFunction.CountIf(Range("C1:C" & i), Range("C" & i)) > 1 Then
        Range("C" & i).EntireRow.Hidden = True
        End If
        Next i

        End Sub

        nyt jos valitsen solun G13 filtteristä vaikka helmikuun ja ajan tämän makron niin en saa kaikkia lukuja (C sarake) näkyviin. Mutta tämänhän saisi pelamaan jos osaisi lisätä makroon että se lukee pelkästään rivit jotka ovat näkyvillä suodatuksen jälkeen...


      • ET kirjoitti:

        Eli nyt alkaa meneen jo korkealta yli :) tarttis sitä rautalankaa...En osaa liittää tuota private subia buttoniin ett voisi kokeilla. Vai lukeeko tuo pätkä solujen C13 ja G13 tietoja...
        Elikkä mitä monimutkasemmaksi tämä menee niin sitä enemmän tulee kysyttävää.

        Tällä hetkellä on käytössä makro joka piilottaa tuplat sarakkeesta C, se on tässä:

        Sub PiilotaTuplaRivit()
        Dim vika As Long
        Dim i As Long
        vika = Range("C65536").End(xlUp).Row
        For i = vika To 1 Step -1
        If Application.WorksheetFunction.CountIf(Range("C1:C" & i), Range("C" & i)) > 1 Then
        Range("C" & i).EntireRow.Hidden = True
        End If
        Next i

        End Sub

        nyt jos valitsen solun G13 filtteristä vaikka helmikuun ja ajan tämän makron niin en saa kaikkia lukuja (C sarake) näkyviin. Mutta tämänhän saisi pelamaan jos osaisi lisätä makroon että se lukee pelkästään rivit jotka ovat näkyvillä suodatuksen jälkeen...

        kuten kirjoitin
        1. Poista suodatus taulukosta
        2. Liitä koodi TAULUKON MODUULIIN
        3 .kirjoita soluihin C13 tai G13 hakuehtosi ja uniikit näkyy...
        kelpoisuusehto dsoluun G13 helpottaa kuukausien suodatusta... ja
        C13 sitten vaatii sen combon ja koodin..


      • ET
        kunde kirjoitti:

        kuten kirjoitin
        1. Poista suodatus taulukosta
        2. Liitä koodi TAULUKON MODUULIIN
        3 .kirjoita soluihin C13 tai G13 hakuehtosi ja uniikit näkyy...
        kelpoisuusehto dsoluun G13 helpottaa kuukausien suodatusta... ja
        C13 sitten vaatii sen combon ja koodin..

        Lähti pelaan...Tein ton kelpoisuusehdon ja siitä valitsemalla tulee näkyviin oikeat tiedot. En nyt vaan hoksaa tuon C13 tarkoitusta, mutta väliäkö tuolla. Toteutus oli vähän eri tyylinen mitä aattelin mutta lopputulos paljon parempi!

        SUURKiitos Kundelle avusta!!


      • ET kirjoitti:

        Lähti pelaan...Tein ton kelpoisuusehdon ja siitä valitsemalla tulee näkyviin oikeat tiedot. En nyt vaan hoksaa tuon C13 tarkoitusta, mutta väliäkö tuolla. Toteutus oli vähän eri tyylinen mitä aattelin mutta lopputulos paljon parempi!

        SUURKiitos Kundelle avusta!!

        sillä voit suodattaa niitä lukuja C sarakkeessa samanlailla kuin kuukausilla G sarakkeessa- et sitä sitten näköjään tarvinnut... ;-)

        kiitos palautteesta!

        Keep Excelling
        @Kunde


      • ET
        kunde kirjoitti:

        sillä voit suodattaa niitä lukuja C sarakkeessa samanlailla kuin kuukausilla G sarakkeessa- et sitä sitten näköjään tarvinnut... ;-)

        kiitos palautteesta!

        Keep Excelling
        @Kunde

        Kun siihen C13 syöttä numerokoodin (vaikka 7 numeroisen) niin se ei osaa poimia niitä...kun solun tyhjentää niin se näyttää kaikki. Osaatko kertoa miissä vika voisi olla. Oishan se ihan kiva toiminto jos sen saisi numeroillakin suodatettua.


      • ET kirjoitti:

        Kun siihen C13 syöttä numerokoodin (vaikka 7 numeroisen) niin se ei osaa poimia niitä...kun solun tyhjentää niin se näyttää kaikki. Osaatko kertoa miissä vika voisi olla. Oishan se ihan kiva toiminto jos sen saisi numeroillakin suodatettua.

        kokeiles koodissa seuraavaa
        klikkaa hiiren vaemmalla rivien välissä
        Private Sub Worksheet_Change(ByVal Target As Range)
        ...
        End Sub

        sitten klikkailet F8 ja tutkaile koodissa seuraavaa riviä. (Voi tän tehdä fiksumminkin , mutta hankala selittää...)
        Vie hiiri solu sanan päälle ja tsekkaa sen arvo samoin tee Range("C13") sanalle. Vertaile näytettyjä arvoja ja tutki mikä ero niillä on? Ettei vaan olisi ylimääräisiä merkkejä soluissa? Jos näin on niin sitten koodin trimmikomentoa tai pituuden tarkistusta yms...

        If Not solu = Range("C13") Then


      • ET
        kunde kirjoitti:

        kokeiles koodissa seuraavaa
        klikkaa hiiren vaemmalla rivien välissä
        Private Sub Worksheet_Change(ByVal Target As Range)
        ...
        End Sub

        sitten klikkailet F8 ja tutkaile koodissa seuraavaa riviä. (Voi tän tehdä fiksumminkin , mutta hankala selittää...)
        Vie hiiri solu sanan päälle ja tsekkaa sen arvo samoin tee Range("C13") sanalle. Vertaile näytettyjä arvoja ja tutki mikä ero niillä on? Ettei vaan olisi ylimääräisiä merkkejä soluissa? Jos näin on niin sitten koodin trimmikomentoa tai pituuden tarkistusta yms...

        If Not solu = Range("C13") Then

        Ilmenipä vielä tällänen ongelma tähän koodiin...

        Eli kun olen valinnnut kuukauden ja suodatus on tehty kaikki vielä on OK, mutta sitten kun kirjoitan johonkin soluun tietoa niin suodatus katoaa ja kaikki rivit tulevat näkyviin. Mitenhän tälläisen voisi välttää???


      • ET kirjoitti:

        Ilmenipä vielä tällänen ongelma tähän koodiin...

        Eli kun olen valinnnut kuukauden ja suodatus on tehty kaikki vielä on OK, mutta sitten kun kirjoitan johonkin soluun tietoa niin suodatus katoaa ja kaikki rivit tulevat näkyviin. Mitenhän tälläisen voisi välttää???

        mokahan siinä on...
        oli väärässä paikkaa toi "näytä kaikki" koodirivi

        Private Sub Worksheet_Change(ByVal Target As Range)
        Dim vika As Integer
        Dim solu As Range

        On Error Resume Next
        vika = Range("C65336").End(xlUp).Row
        Application.EnableEvents = False

        If Not Intersect(Target, Range("C13")) Is Nothing Then
        ActiveSheet.ShowAllData
        If Target = "" Then
        Range("G13") = ""
        GoTo poistu
        End If
        Range("C13:G" & vika).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
        For Each solu In Range("C14:C" & vika).SpecialCells(xlCellTypeVisible)
        If Not solu = Range("C13") Then
        solu.EntireRow.Hidden = True
        End If
        Next solu
        Range("G13") = ""
        End If
        If Not Intersect(Target, Range("G13")) Is Nothing Then
        ActiveSheet.ShowAllData
        If Target = "" Then
        Range("C13") = ""
        GoTo poistu
        End If
        Range("C13:G" & vika).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
        For Each solu In Range("G14:G" & vika).SpecialCells(xlCellTypeVisible)
        If Not solu = Range("G13") Then
        solu.EntireRow.Hidden = True
        End If
        Next solu
        Range("C13") = ""
        End If
        poistu:
        Application.EnableEvents = True
        End Sub


      • ET
        kunde kirjoitti:

        mokahan siinä on...
        oli väärässä paikkaa toi "näytä kaikki" koodirivi

        Private Sub Worksheet_Change(ByVal Target As Range)
        Dim vika As Integer
        Dim solu As Range

        On Error Resume Next
        vika = Range("C65336").End(xlUp).Row
        Application.EnableEvents = False

        If Not Intersect(Target, Range("C13")) Is Nothing Then
        ActiveSheet.ShowAllData
        If Target = "" Then
        Range("G13") = ""
        GoTo poistu
        End If
        Range("C13:G" & vika).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
        For Each solu In Range("C14:C" & vika).SpecialCells(xlCellTypeVisible)
        If Not solu = Range("C13") Then
        solu.EntireRow.Hidden = True
        End If
        Next solu
        Range("G13") = ""
        End If
        If Not Intersect(Target, Range("G13")) Is Nothing Then
        ActiveSheet.ShowAllData
        If Target = "" Then
        Range("C13") = ""
        GoTo poistu
        End If
        Range("C13:G" & vika).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
        For Each solu In Range("G14:G" & vika).SpecialCells(xlCellTypeVisible)
        If Not solu = Range("G13") Then
        solu.EntireRow.Hidden = True
        End If
        Next solu
        Range("C13") = ""
        End If
        poistu:
        Application.EnableEvents = True
        End Sub

        No nyt voi täytellä soluja mutta suodatus ei enää toimi oikein. Jos valitsen tammikuun niin se tapahtuu ja sen jälkeen jos valitsen helmikuun niin taulukko ei suodata oikein. Suodatus onnistuu vasta kun valitsen helmikuun uudelleen...ja jos valikkosolun tyhjentää niin se ei nyt näytä koko listaa niin kuin aikaisemmin?

        Periaattessahan toi toimis jos laittas erillisen näytä kaikki makron ja ajais sen ennen kk valintaa...mutta kätevä ois jos sais sen siihen valikkohässäkkään.

        Kiitti ku jaksat avittaa


      • ET kirjoitti:

        No nyt voi täytellä soluja mutta suodatus ei enää toimi oikein. Jos valitsen tammikuun niin se tapahtuu ja sen jälkeen jos valitsen helmikuun niin taulukko ei suodata oikein. Suodatus onnistuu vasta kun valitsen helmikuun uudelleen...ja jos valikkosolun tyhjentää niin se ei nyt näytä koko listaa niin kuin aikaisemmin?

        Periaattessahan toi toimis jos laittas erillisen näytä kaikki makron ja ajais sen ennen kk valintaa...mutta kätevä ois jos sais sen siihen valikkohässäkkään.

        Kiitti ku jaksat avittaa

        kun laiskottaa ja ei testaa.
        SORRY
        Oletin kyllä koodin toimivan ilman testausta..
        No ei enää sitten postauksia ilman testausta prkl

        tää nyt ainakin mulla toimii molemilla sarakesuodatuksilla

        Private Sub Worksheet_Change(ByVal Target As Range)
        Dim vika As Integer
        Dim solu As Range

        On Error Resume Next

        Application.EnableEvents = False
        If Not Intersect(Target, Range("C13")) Or Not Intersect(Target, Range("G13")) Is Nothing Then
        If Target = "" Then
        ActiveSheet.ShowAllData
        End If
        End If
        If Not Intersect(Target, Range("C13")) Is Nothing Then
        If Target = "" Then
        Range("G13") = ""
        GoTo poistu
        End If
        ActiveSheet.ShowAllData
        vika = Range("C65336").End(xlUp).Row
        Range("C13:G" & vika).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
        For Each solu In Range("C14:C" & vika).SpecialCells(xlCellTypeVisible)
        If Not solu = Range("C13") Then
        solu.EntireRow.Hidden = True
        End If
        Next solu
        Range("G13") = ""
        End If
        If Not Intersect(Target, Range("G13")) Is Nothing Then
        If Target = "" Then
        Range("C13") = ""
        GoTo poistu
        End If
        ActiveSheet.ShowAllData
        vika = Range("C65336").End(xlUp).Row
        Range("C13:G" & vika).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
        For Each solu In Range("G14:G" & vika).SpecialCells(xlCellTypeVisible)
        If Not solu = Range("G13") Then
        solu.EntireRow.Hidden = True
        End If
        Next solu
        Range("C13") = ""
        End If
        poistu:
        Application.EnableEvents = True
        End Sub

        Sub Resetoi()
        On Error Resume Next
        Application.EnableEvents = True
        ActiveSheet.ShowAllData
        End Sub

        Keep Excelling
        @Kunde


      • ET
        kunde kirjoitti:

        kun laiskottaa ja ei testaa.
        SORRY
        Oletin kyllä koodin toimivan ilman testausta..
        No ei enää sitten postauksia ilman testausta prkl

        tää nyt ainakin mulla toimii molemilla sarakesuodatuksilla

        Private Sub Worksheet_Change(ByVal Target As Range)
        Dim vika As Integer
        Dim solu As Range

        On Error Resume Next

        Application.EnableEvents = False
        If Not Intersect(Target, Range("C13")) Or Not Intersect(Target, Range("G13")) Is Nothing Then
        If Target = "" Then
        ActiveSheet.ShowAllData
        End If
        End If
        If Not Intersect(Target, Range("C13")) Is Nothing Then
        If Target = "" Then
        Range("G13") = ""
        GoTo poistu
        End If
        ActiveSheet.ShowAllData
        vika = Range("C65336").End(xlUp).Row
        Range("C13:G" & vika).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
        For Each solu In Range("C14:C" & vika).SpecialCells(xlCellTypeVisible)
        If Not solu = Range("C13") Then
        solu.EntireRow.Hidden = True
        End If
        Next solu
        Range("G13") = ""
        End If
        If Not Intersect(Target, Range("G13")) Is Nothing Then
        If Target = "" Then
        Range("C13") = ""
        GoTo poistu
        End If
        ActiveSheet.ShowAllData
        vika = Range("C65336").End(xlUp).Row
        Range("C13:G" & vika).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
        For Each solu In Range("G14:G" & vika).SpecialCells(xlCellTypeVisible)
        If Not solu = Range("G13") Then
        solu.EntireRow.Hidden = True
        End If
        Next solu
        Range("C13") = ""
        End If
        poistu:
        Application.EnableEvents = True
        End Sub

        Sub Resetoi()
        On Error Resume Next
        Application.EnableEvents = True
        ActiveSheet.ShowAllData
        End Sub

        Keep Excelling
        @Kunde

        No nyt voi täyttää soluihin tietoa mutta kun solun tyhjentää niin kaikki rivit tulevat taas näkyviin. Muuten kyllä pelaa...


      • ET kirjoitti:

        No nyt voi täyttää soluihin tietoa mutta kun solun tyhjentää niin kaikki rivit tulevat taas näkyviin. Muuten kyllä pelaa...

        jos hakuehto on tyhjä niin mitäs sitten pitäs näyttää???
        ei mulla oo kristallipalloa...

        Keep Excelling
        @ Kunde


      • ET
        kunde kirjoitti:

        jos hakuehto on tyhjä niin mitäs sitten pitäs näyttää???
        ei mulla oo kristallipalloa...

        Keep Excelling
        @ Kunde

        siis solu missä valitaan hakuehto toimii oikein. Eli kun se on tyhjä niin näyttää kaikki. Ongelma on siinä että kun olen hakenut esiin tietyt rivit ja poistan niiden rivien soluista tietoja niin työkirja tuo esiin kaikki rivit. Rivit tulevat esiin siinä vaiheessa kun solu on tyhjennetty ja aktivoin seuraavan solun.

        Voikohan tälle tehdä mitään vai pitääkö tämän kanssa vaan elää :) ...tässä ois nyt vähän tarkemmin


      • ET kirjoitti:

        siis solu missä valitaan hakuehto toimii oikein. Eli kun se on tyhjä niin näyttää kaikki. Ongelma on siinä että kun olen hakenut esiin tietyt rivit ja poistan niiden rivien soluista tietoja niin työkirja tuo esiin kaikki rivit. Rivit tulevat esiin siinä vaiheessa kun solu on tyhjennetty ja aktivoin seuraavan solun.

        Voikohan tälle tehdä mitään vai pitääkö tämän kanssa vaan elää :) ...tässä ois nyt vähän tarkemmin

        muuta koodirivi
        If Not Intersect(Target, Range("C13")) Or Not Intersect(Target, Range("G13")) Is Nothing Then

        seuraavaksi...
        If Not Intersect(Target, Range("C13")) Is Nothing Or Not Intersect(Target, Range("G13")) Is Nothing Then

        Keep Excelling
        @Kunde


    Ketjusta on poistettu 1 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Viesti sinulle

      Tiedät että tunteet ja ajatukset ja meillä on vahva yhteys mistä molemmat tiedetään. Odotan sinua ☀️
      Ikävä
      59
      1110
    2. Mikä on totta mikä ei?

      Onko juoru vai ei että nimeltä mainitsematon henkilö on tehnyt naiselle/naisille jotain joka on väärin?
      Kuhmo
      17
      1109
    3. Olen kironnut sinut alimpaan helvettiin

      Hyvää matkaa.
      Ikävä
      82
      871
    4. Mitä sinulle on tapahtunut lapsena

      Kun olet noin sairas päästäsi? Pikkupojalle ( Miehen kehossa)
      Ikävä
      94
      807
    5. Haluan purkaa vielä tuntemuksia

      Tykkään sinusta kovin paljon❤️ olen surullinen tilanteestasi ja siitä mitä me olemme yhdessä joutuneet kokemaan. Tämä ei
      Ikävä
      21
      747
    6. Tunteiden käsittely kertoo ihmisestä.

      Kun puhutaan "tavallisesta" ihmisestä, joka on suht tasapainoinen eläjä, niin puhutaan oikeastaan taitavasta tunteiden k
      Sinkut
      206
      650
    7. Kyllä tiedän sun

      Likaiset pelit selän takana
      Ikävä
      59
      641
    8. Persujen Puhoksen retki

      Perussuomalaiset olivat tehneet turistibussimatkan Puhokseen. Tosin raukat olivat niin peloissaan, etteivät uskaltaneet
      Perussuomalaiset
      220
      636
    9. Lopetetaanko tämä

      Juttu ja mennään eteenpäin? Pystytkö?
      Ikävä
      105
      627
    10. Onko tuo joku katkera nainen oikeasti

      Joka sinua syyttää?
      Ikävä
      99
      582
    11. Jopa poliisi nauraa paskaista pelkuripersuille

      Puhoksessa jäi "isänmaantoivot" bussiin vapisemaan :-D https://www.is.fi/politiikka/art-2000012319632.html
      Maailman menoa
      267
      511
    12. Just saying

      Mies joka antaa naiselle turvallisen olon, on seksikäs. Ei kieroja kikkoja ja haluaa olla vain sen yhden naisen mies.
      Ikävä
      102
      488
    13. Pilkettä sunnuntain silmässä

      😉 Jos tästä ketjusta löytyisi yksi ihminen, joka saisi sut hymyilemään tänään… Millainen hän olisi? Ei tarvitse kerto
      Sinkut
      73
      471
    14. Tehdään yhdessä itsestämme

      Parhaat versiot❤️ Se vaatii molemmilta hyvää itsetuntoa!
      Ikävä
      39
      434
    15. Ketkä käy potkimassa ovia öisin?

      Enää ei naurata.
      Haapavesi
      5
      428
    16. 32
      422
    17. Aika on tuonut järkeä

      Sä et tiedä musta kaikkea. Jos tietäisit, ymmärtäisit, miksi me ei sovita yhteen. Öljy ja vesi. En mä ole valehdellut,
      Järki ja tunteet
      42
      413
    18. Voisin antaa sulle nyt

      Halin❤️
      Ikävä
      47
      410
    19. Persut eivät uskaltaneet tulla ulos

      Bussiin jäivät https://www.iltalehti.fi/politiikka/a/d7f9fc57-dca0-40b8-9cb1-156e5872dba9
      Perussuomalaiset
      146
      394
    20. Oliko Jani Halmeen aika jo tippua TTK:sta?

      Jani Halme ja Claudia Ketonen joutuivat jättämään TTK:n. Halme ja Ketonen saivat viimeiseksi jäänestä tanssista, sambas
      Tanssii tähtien kanssa
      20
      373
    Aihe