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.
taulukon arvojen kopiointi toiseen taulukkoon
6
569
Vastaukset
- voisi auttaa
Pikakurssi pikasuodatukseen löytyy osoitteesta:
http://office.microsoft.com/training/Training.aspx?AssetID=RP011459701035&CTT=6&Origin=RC011459671035- 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 :-)
@KundeSain 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
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://ww655004- 533340
Suodatinpussin kastelemalla saa parempaa kahvia
Kokeilin niksiä ja kyllä tämä kahvi on parempaa nyt. Ei lainkaan maistu paperiselta. Huljuttelee hanan alla suppiloa pap1452512Tidä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ä o1052046Mikä on kaivattusi etunimi?
Otsikossa siis on kysymys eriteltynä. Vain oikeat vastaukset hyväksytään.831689Onkohan sinulla kaikki hyvin?
Nyt vähän sellainen outo tunne tuli. Sinun asiasi niin ei minulle toki tarvitse kertoa. Kunhan mietin...381247Oho! 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-211189Huikeeta, mahtavaa, ihan mielettömän upeeta
Me ostettiin talo Espanjasta. Tosin saadaan käyttää sitä vain muutama viikko vuodessa kun on monta muutakin ostajaa! M1931165En kestä katsoa
Sitä miten sinusta on muut kiinnostuneita. Olen kateellinen. Siksi pitäisi lähteä pois881150- 1731116