Millä koodilla

Mikä on se koodinpätkä jolla saadaan esim alla olevassa koodissa kohdistin rullaamaan niin että se on aina siinä kohdin missä tupla esiintyy. Eli kun taulukossa on ensimmäiset 5 riviä kiinnitetty ja siellä on nappi johon koodi on liitetty niin miten saadaan alimmat rivit rullaamaan niin että aina se rivi jossa on tupla on esillä ?

Sub oma_poista_tuplat()
Dim lngSel As Long
Range("A:A").Interior.ColorIndex = xlNone
For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
If WorksheetFunction.CountIf(Range("A1:A" & i), Cells(i, 1).Value) > 1 Then
Cells(i, 1).Interior.ColorIndex = 3
lngSel = MsgBox("Tuplatietoja havaittu...Haluatko poistaa", vbYesNoCancel)
If lngSel = vbCancel Then Exit Sub
If lngSel = vbYes Then
Cells(i, 1).EntireRow.Delete
Else
Cells(i, 1).Interior.ColorIndex = xlNone
End If
End If
Next i
End Sub

14

287

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • ...

      ActiveWindow.ScrollRow = i ?

    • Kiitos vastauksestasi. En saa sitä toimimaan tuolla lisäyksellä. Mihin kohti sijoitit sen ?

      • ...

        Oletettavasti ennen riviä lngSel = MsgBox("Tuplatietoja...

        Ei ole tosin Exceliä käytössä.


    • Tulee "Syntax error"

    • Sub oma_poista_tuplat()
      Dim lngSel As Long
      Range("A:A").Interior.ColorIndex = xlNone
      For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
      If WorksheetFunction.CountIf(Range("A1:A" & i), Cells(i, 1).Value) > 1 Then
      Cells(i, 1).Interior.ColorIndex = 3
      ActiveWindow.Panes(2).ScrollRow = i
      lngSel = MsgBox("Tuplatietoja havaittu...Haluatko poistaa", vbYesNoCancel)
      If lngSel = vbCancel Then Exit Sub
      If lngSel = vbYes Then
      Cells(i, 1).EntireRow.Delete
      Else
      Cells(i, 1).Interior.ColorIndex = xlNone
      End If
      End If
      Next i
      End Sub

      • Vielä sen verran että kun nyt koodi löytää tuplat se näyttää niistä vain toisen ja sen siinä lukitun rivin alapuolella. Eli en näe mikä se toinen on johon se viittaa. Tämä on tärkeää koska se saattaa löytää tuplan A sarakkeesta mutta tuplien liitetiedot C ja D ja E sarakkeissa ovatkin erilaiset, jolloin poistoa ei suoriteta.

        Malli;

        A
        1
        2 Näille riveille on piirretty makrojen käyttöä varten painikkeet
        3
        4
        5
        -----------------------------------------------------------------------------------
        Tässä kulkee lukittujen rivien raja

        6 Tieto 1
        7 Tieto 1 (koodi näyttää tämän rivillä 6, kun sen pitäisi näyttää rivin 6 tieto
        rivillä 6 )
        8 Tieto2
        9 Tieto 3
        10 Tieto 4
        jne

        Miten saan tuon korjauksen tuohon ?

        Terv

        Jorma


      • jo.mu kirjoitti:

        Vielä sen verran että kun nyt koodi löytää tuplat se näyttää niistä vain toisen ja sen siinä lukitun rivin alapuolella. Eli en näe mikä se toinen on johon se viittaa. Tämä on tärkeää koska se saattaa löytää tuplan A sarakkeesta mutta tuplien liitetiedot C ja D ja E sarakkeissa ovatkin erilaiset, jolloin poistoa ei suoriteta.

        Malli;

        A
        1
        2 Näille riveille on piirretty makrojen käyttöä varten painikkeet
        3
        4
        5
        -----------------------------------------------------------------------------------
        Tässä kulkee lukittujen rivien raja

        6 Tieto 1
        7 Tieto 1 (koodi näyttää tämän rivillä 6, kun sen pitäisi näyttää rivin 6 tieto
        rivillä 6 )
        8 Tieto2
        9 Tieto 3
        10 Tieto 4
        jne

        Miten saan tuon korjauksen tuohon ?

        Terv

        Jorma

        Anteeksi typerä kysymykseni. Lisäsin sinne perään -5 niin sain ne putoamaan lähemmäs rullattavan taulukon keskustaa ja näinhän se onnistui, tietenkin... Tein sen vaan ensin liian hätäisesti ja panin -5 kiinni i niin eihän se toiminut vaan antoi virhettä. No nyt se on täydellinen. Kiitos kaikille keskusteluun osallistujille, jatketaan excelin kanssa.....


    • Kiitos Kunde. Viitsitkö vielä suomentaa tuon ActiveWindow.Panes(2).ScrollRow = i, eli miksi ActiveWindow.ScrollRow = i ei toimi tuossa yhteydessä ? Eli mistä tuo .Panes(2) syntyy ? Kiitollisena "vba kielen ei niin guru vielä"

    • ActiveWindow viittaa aktiiviseen ikkunaan ja kun se jaetaan syntyy Ikkunat(Panes Collection) ja silloin niitä on 2- eli ylempi Pane1 ja alempi Pane2 ja jos viittataan Pane2.rivinro niin se on siis alemman ikkunan rivi ja ylempi olisi sitten Pane1.rivinro.
      pelkästään activewindow on siis oikeesti ylempi ikkuna

      muokkaa vielä niin, että rullaa aina ylemmässä sitä ekaa esiintymää... sitten se on täydellinen ;-)

      • hokasin vasta, että sanoit muilla riveillä on tietoa mitä tsekataan, miksi et sitten tarkista kaikkia kerralla ja ei tartte kysellä...


    • Moi. Se on totta että vois tarkistaa kaikki kerralla ja silloin ei tarvisi kysellä. Mutta kun ongelmana on se että usealla rivillä on vain yksi tieto joka esiintyy tuplana. Tällöin tuota tietoa ei saa poistaa. Se poistetaan vain jos tieto kaikissa sarakkeissa (A, B, C, D, E, F ja G) on yhtenevä, useammalla kuin yhdellä rivillä. Vois tietenkin ajatella että se kävisi kaikki läpi yhdellä kertaa, ja poistaisi vain ne joissa kaikki tieto on yhtenevää riveittäin. Voisitko näyttää tuon koodin ? Onko exceliin mahdollista tehdä sellaista koodia että kun syötän uusille riveille tietoa, tuo koodi toimis taustalla ja jos se löytää juuri samanlaisen joltakin riviltä, se ilmoittaa siitä MsgBoxilla esim (vastaava tieto löytynyt riviltä .... ) ? Tässä oppii samalla aivan huimasti. Kiitos siitä Sinulle. Onko sulle sellaista sähköpostia mihin voin esimerkin laittaa tästä taulukosta ?

    • helpoitenhan toi menee suodattamalla uniikit paikalla ja sitten poistaa piilotetut rivit...
      toka kyssäri: mahdollista on
      ja vika
      [email protected]

    • Lähetin postia

      • paluupostia sait...

        laitan tännekin sen koodin pätkän, koska se on nopea ja cool...

        eli poistaa tuplarivit DAT taulukosta sarakkeista A-G.
        koodi lisää Huuhaa taulukon ja kopioi tiedot sinne DAT taulukosta ja suorittaa erikoissuodatuksen ja kopioi suodatetut tiedot DAT taulukkoon ja poistaa lopuksi Huuhaa taulukon

        Sub Kunden_poista_tuplat()
        Dim nimi As String
        On Error Resume Next
        Application.DisplayAlerts = False
        nimi = Worksheets("Huuhaa").Name
        If Not Err.Number = 0 Then Sheets.Add.Name = "Huuhaa"
        Sheets("Huuhaa").Cells.ClearContents
        On Error GoTo 0
        Sheets("DAT").Activate
        Cells.Copy Sheets("Huuhaa").Range("A1")
        Cells.ClearContents
        Sheets("Huuhaa").Columns("A:G").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("A6"), Unique:=True
        Sheets("Huuhaa").Delete
        Application.DisplayAlerts = True
        End Sub

        Keep EXCELing
        @Kunde


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

    Luetuimmat keskustelut

    1. SDP on vastuunkantaja, ja siksi suosituin kansan keskuudessa

      Kiusaamiseenkin SDP puuttuu heti sellaisen tultua ilmi. Esimerkiksi persut lakaisevat nämä maton alle ja pahentavat site
      Maailman menoa
      51
      5876
    2. Persut on Suomen mamutuspuolue nro 1.

      Heti ensimmäisenä persuvuonna 2015 maahantoivat Suomeen 35 tuhatta kunniavierastaan. Tuoreimpana persuvuonna 2025 pers
      Maailman menoa
      71
      4605
    3. Punavihreät puolueet haluavat Suomeen satoja tuhansia kehitysmaalaisia

      SDP, vihreät ja vassarit haluavat nostaa esim. pakolaiskiintiötä todella paljon. Orpon hallituksen aikana maahanmuutto
      Maailman menoa
      46
      4362
    4. SDP:n johto pesi kätensä häirintäkohusta

      "Suurimman oppositiopuolue SDP:n johto olisi todennäköisimmin halunnut vaieta puolueen ympärillä velloneen häirintäkohun
      Maailman menoa
      56
      4141
    5. SDP on selvästi paras valinta äänestyskopissa

      Puolueella on arvomaailma kohdallaan, sillä on hyvä CV itsenäisen Suomen historiassa vastuunkantajana ja hyvinvointivalt
      Maailman menoa
      93
      3753
    6. Tytti Tuppurainen ollut aivan sekaisin viime päivinä

      Pitäis varmaan tehdä huumetesti sille. "– SDP:n Tytti Tuppurainen väittää kirkkain silmin ja Antti Lindtman vierellään
      Maailman menoa
      62
      3303
    7. SDP:n selitykset ontuu pahasti - "On käsitelty heti, mutta kukaan ei tiedä"

      Kokoomuslaiset pistää taas demareita nippuun. Tuppuraisen mukaan mukaan SDP:n useat ahdistelutapaukset on käsitelty het
      Maailman menoa
      50
      2463
    8. Oletko nainen turhautunut, kun en tule juttelemaan siellä?

      Haluaisin tottakai tulla. Älä käsitä väärin. Ehkä ensi kerralla?
      Ikävä
      35
      2359
    9. Kähmijä puolueen kannatus romahtamassa

      Erityisesti naiset ovat suuttuneet SDP:lle kertoo asiantuntijat
      Maailman menoa
      42
      2089
    10. En uskalla ees ajatella muru

      Miten mulle ois käynyt näiden raskaiden vuosien aikana jos sua ei ois ollut 🥺😧❤️ Sä oot ollut mun henkisenä tukena iha
      Ikävä
      13
      1229
    Aihe