taulukon arvojen kopiointi toiseen taulukkoon

jaapadaapa

Heps.

Tälläinen pieni ongelma tuli eteen kesätöiden ohessa:

Minulla on taulukko "data", jossa on yrityksen eri tuotteita muutamia tuhansia kappaleita. Tuotteet on jaoteltu jokainen omalle rivilleen ja jokaisella rivillä on tuotteen tietoja noin vajaa 20 kappaletta. Mitenhän saisin kopioitua tästä taulukosta esim. tuotteet nimeltä "antennit" (siis jokaisen antenni-ryhmään kuuluvan tuotteen joilla on jokaisella oma määrittelykoodinsa) ja jokaisen antennin jokaisen solun toiseen taulukkoon? Tarkoitus kun olisi siis ryhmitellä esim. antennit omaan tauluunsa, mastot omaansa yms.

Ottikohan tuosta nyt räikkönenkään selvää, mutta toivottavasti kyllä :). Ja kiitos jo etukäteen.

6

606

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • voisi auttaa
      • jaapadaapa

        Siis suodatuksella saa toki yhden kohderyhmän suodatettua, mutta kun ei se nyt oikein auta siihen los problemosiin, että pitäisi saada tietty tuoteryhmä vain ja ainoastaan haettua tietoineen päivineen JA sitten ne viedyksi toiseen taulukkoon. Siis ottaen huomioon, että sinne ensimmäiseen taulukkoon päivitetään aina uusia tuotteita ja nämä pitäisi saada automaattisesti sitten päivittymään sinne omiin ryhmiinsä. Eli siis :D --> joku lisää taulukkoon data uuden tuotteen (esim. antennin, määrittelykoodi 666666) ja tämän tuotteen 666666 pitäisi sitten automaattisesti päivittää itsensä sinne antennit-taulukkooon.

        Toki sillä mainitsemallasi suodatuksella olisi iisiä tehdä suodatus esim. antenneista ja sitten kopsata ko. lista sinne antennit-taulukkoon, mutta kun pahoin pelkään että työnantaja ei sitäkään vaivaa halua nähdä :/.

        Että näin.


      • jaapadaapa kirjoitti:

        Siis suodatuksella saa toki yhden kohderyhmän suodatettua, mutta kun ei se nyt oikein auta siihen los problemosiin, että pitäisi saada tietty tuoteryhmä vain ja ainoastaan haettua tietoineen päivineen JA sitten ne viedyksi toiseen taulukkoon. Siis ottaen huomioon, että sinne ensimmäiseen taulukkoon päivitetään aina uusia tuotteita ja nämä pitäisi saada automaattisesti sitten päivittymään sinne omiin ryhmiinsä. Eli siis :D --> joku lisää taulukkoon data uuden tuotteen (esim. antennin, määrittelykoodi 666666) ja tämän tuotteen 666666 pitäisi sitten automaattisesti päivittää itsensä sinne antennit-taulukkooon.

        Toki sillä mainitsemallasi suodatuksella olisi iisiä tehdä suodatus esim. antenneista ja sitten kopsata ko. lista sinne antennit-taulukkoon, mutta kun pahoin pelkään että työnantaja ei sitäkään vaivaa halua nähdä :/.

        Että näin.

        "Toki sillä mainitsemallasi suodatuksella olisi iisiä tehdä suodatus esim. antenneista ja sitten kopsata ko. lista sinne antennit-taulukkoon, mutta kun pahoin pelkään että työnantaja ei sitäkään vaivaa halua nähdä :/. "

        en minäkään viitsisi pelleillä phauilla ja suodatuksilla manuaalisesti...

        mutta asiaan

        en tarkkaan tiedä tuotteiden koodaustasi, mutta allaoleva makro päivittää automaattisesti taulukot ja lisää uuden kun uusi tuote lisätään. Tosta on helppo muunnella tarpeittesi mukaan. Tuotteet on siis sarakkeessa A, josta uudet taulukot tehdään

        Datataulukon moduuliin...

        rivate Sub Worksheet_SelectionChange(ByVal Target As Range)
        On Error GoTo virhe
        Application.ScreenUpdating = False
        Call TeeTaulukot
        virhe:
        Application.ScreenUpdating = True
        End Sub

        ja tavalliseen moduuliin...

        Sub TeeTaulukot()
        Dim Tiedot As Range
        Dim solu As Range
        Dim Taulukko As Worksheet
        Dim AloitusTaulukko As Worksheet
        Dim Nimi As String


        On Error Resume Next
        Application.DisplayAlerts = False
        Set AloitusTaulukko = ActiveSheet
        AloitusTaulukko.AutoFilterMode = False
        Set Tiedot = Range("A1", Range("A65536").End(xlUp))
        For Each Taulukko In Worksheets
        If Not Taulukko.Name = "Data" Then ' muuta datataulukon nimi sopivaksi
        Taulukko.Delete
        End If
        Next

        Worksheets.Add().Name = "HUUHAA"
        With Worksheets("HUUHAA")
        Tiedot.AdvancedFilter xlFilterCopy, , _
        Worksheets("HUUHAA").Range("A1"), True
        Set Tiedot = .Range("A1", .Range("A65536").End(xlUp))
        End With

        With AloitusTaulukko
        For Each solu In Tiedot
        Nimi = solu
        .Range("A1").AutoFilter 1, Nimi
        Worksheets.Add().Name = Nimi
        .UsedRange.Copy Destination:=ActiveSheet.Range("A1")
        ActiveSheet.Cells.Columns.AutoFit
        Next solu
        End With

        With AloitusTaulukko
        .AutoFilterMode = False
        .Activate
        End With

        On Error GoTo 0
        Worksheets("HUUHAA").Delete
        Application.DisplayAlerts = True
        End Sub

        keep excelling :-)
        @Kunde


      • jaapadaapa
        kunde kirjoitti:

        "Toki sillä mainitsemallasi suodatuksella olisi iisiä tehdä suodatus esim. antenneista ja sitten kopsata ko. lista sinne antennit-taulukkoon, mutta kun pahoin pelkään että työnantaja ei sitäkään vaivaa halua nähdä :/. "

        en minäkään viitsisi pelleillä phauilla ja suodatuksilla manuaalisesti...

        mutta asiaan

        en tarkkaan tiedä tuotteiden koodaustasi, mutta allaoleva makro päivittää automaattisesti taulukot ja lisää uuden kun uusi tuote lisätään. Tosta on helppo muunnella tarpeittesi mukaan. Tuotteet on siis sarakkeessa A, josta uudet taulukot tehdään

        Datataulukon moduuliin...

        rivate Sub Worksheet_SelectionChange(ByVal Target As Range)
        On Error GoTo virhe
        Application.ScreenUpdating = False
        Call TeeTaulukot
        virhe:
        Application.ScreenUpdating = True
        End Sub

        ja tavalliseen moduuliin...

        Sub TeeTaulukot()
        Dim Tiedot As Range
        Dim solu As Range
        Dim Taulukko As Worksheet
        Dim AloitusTaulukko As Worksheet
        Dim Nimi As String


        On Error Resume Next
        Application.DisplayAlerts = False
        Set AloitusTaulukko = ActiveSheet
        AloitusTaulukko.AutoFilterMode = False
        Set Tiedot = Range("A1", Range("A65536").End(xlUp))
        For Each Taulukko In Worksheets
        If Not Taulukko.Name = "Data" Then ' muuta datataulukon nimi sopivaksi
        Taulukko.Delete
        End If
        Next

        Worksheets.Add().Name = "HUUHAA"
        With Worksheets("HUUHAA")
        Tiedot.AdvancedFilter xlFilterCopy, , _
        Worksheets("HUUHAA").Range("A1"), True
        Set Tiedot = .Range("A1", .Range("A65536").End(xlUp))
        End With

        With AloitusTaulukko
        For Each solu In Tiedot
        Nimi = solu
        .Range("A1").AutoFilter 1, Nimi
        Worksheets.Add().Name = Nimi
        .UsedRange.Copy Destination:=ActiveSheet.Range("A1")
        ActiveSheet.Cells.Columns.AutoFit
        Next solu
        End With

        With AloitusTaulukko
        .AutoFilterMode = False
        .Activate
        End With

        On Error GoTo 0
        Worksheets("HUUHAA").Delete
        Application.DisplayAlerts = True
        End Sub

        keep excelling :-)
        @Kunde

        Sain itseasiassa homman pelittämään pelkästään makron nauhoituksellakin (tai siltä ainakin vaikuttaa...), mutta tuolle sinun esimerkillesi on kyllä varmasti käyttöä tulevaisuutta ajatellen, joten kiitos siitä :).

        Tai ehkä tuota joutuu jo nyt työajalla kokeilemaan ja soveltamaan omaan käyttöön x).


    • gfdgdg

      Phaku- funktiolla pitäis onnistua

    • RTPG

      Jos nyt oikein ymmärsin niin Pivot-taulukoilla saa näppärästi tehtyä uusia taulukoita.

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

    Luetuimmat keskustelut

    1. Eutanasia - miksi eläimelle sallitaan armokuolema, mutta ihmiselle ei?

      Olen pitkään ihmetellyt yhtä asiaa Suomessa. Kun koira kärsii parantumattomasta sairaudesta ja kovista kivuista, eläinlä
      Arvot ja etiikka
      32
      11616
    2. Sanna Marin vetänyt leukoja 11 kertaa

      Tästähän oli joskus polemiikkia, kun muistaakseni lupasi kymmenen tai jotain vedellä. No nyt niin on, ainakin omien san
      Maailman menoa
      30
      4551
    3. Veli Sofia teki urosmehiläisen työn

      Paljastaessaan kuinka TPS:ssä ei joukkuehenki toimi sooloilijoiden vuoksi, jonka takia koko seura ei pärjää kilpailussa
      Maailman menoa
      62
      4200
    4. Unisex-vessat

      Ahdistaa. Miksi kaikki pitää tasapäistää tasa-arvon nimissä? Tasa-arvo on sitä, että kunnioitetaan sukupuolien erilaisu
      Tunteet
      152
      3521
    5. Sosiaalidemokratia romahtanut kautta maailman

      nuoret eivät enää kannata järjetöntä aatetta, joten demarien täytyy hakea kannattajia mamuista. Ruotsin sos.demit jo kie
      Maailman menoa
      243
      2773
    6. Miksi Seta ja Sofia Virta ei vaadi muslimeita kunnioittamaan priden-arvoja?

      Kuten tiedetään niin islam ei hyväksy sitä mitä pride edustaa. Seta-pomo Mikkonen nosti hirveän äläkän kun yksi tepsin
      Maailman menoa
      138
      2499
    7. Vastuun ottaminen omasta hyvinvoinnista

      Olen huomannut tuttavapiirissäni ihmisiä, joilla on mt-diagnooseja. Sen sijaan, että millekään asialle yritettäisiin teh
      218
      1968
    8. Sofia Virralle täydet 12 pistettä!

      Kun ei jäänyt mukaan vähemmistöjen sortamista epäsuorasti tukevaan joukkueeseen. Urheilijoiden pitäisi olla esikuvia.
      Maailman menoa
      377
      1375
    9. Kuvaile kaivattusi

      ulkonäkö. Asiattomatkin kommentit saa laittaa. -🏚️
      Ikävä
      87
      1371
    10. Miksi Hotelli Kainuuta dissataan?

      Ihmetyttää tämä jatkuva yhden yrityksen arvosteleminen. Ikäänkuin mikään ei olisi hyvin. Kuitenkin yritys työllistää, ta
      Kuhmo
      20
      1007
    Aihe