AutoFilter-toiminto ja merged cells

Minulla on taulukko, johon on tuotu useita ns. tietokokonaisuuksia (esim 12 riviä tietoja joista joidenkin sarakkeiden solut on yhdistetty yhdeksi soluksi. Esim A1:A12 kattavassa solussa minulla lukee Eurooppa ja B1:B12 soluissa eri maiden nimiä (italia, ruotsi,ranska,saksa jne) C1:C12 ja D1:D12 vastaavien maiden tietoja. Haluaisin käyttää AutoFilter-toimintoa tietojen poimimiseen taulukosta. Mutta AutoFilter-toimintoa käytettäessä (esim. kun valitsen eurooppa) näyttää Excel vain yhdistetyn solun ensimmäisen rivin tiedot (vain italian tiedot), vaikka haluaisin nähdä kaikkien euroopan maiden tiedot.

Mikäli joku on törmännyt vastaavaan ongelmaan ja löytänyt ratkaisun, niin kaikki apu on tervetullutta!
5636
Äänestä

Muut lukivat myös

Vastaukset 5

Vanhimmat

sama kuin "Pikasuodatus". Jos ei, niin pikasuodatus toimii hyvin tuossa ongelmassa. Sarakkeissa pitää olla "Otsikkorivi". Klikkaa johonkin otsikkosarakkeeseen ja mene "Tiedot" > "Suodata" > "Pikasuodatus". Otsikkoriveille ilmestyy nuolipainikkeet. Paina tämän "Eurooppa"-sarakkeen nuolta ja valitse sieltä Eurooppa, Näkyville jää vain kaikki maat tietoineen jotka sijaitsevat Euroopassa. Ohje Excel 2000.

Äänestä
  • Kiitos vastauksesta! AutoFilter on siis sama toiminto kuin pikasuodatus. Olen yrittänyt tehdä kuten kuvasit viestissäsi. Mutta ongelma tulee siinä, että kun valitsen "eurooppa" niin Excel näyttää vain "euroopan" ensimmäisellä rivillä olevan maan tiedot. Eurooppa-solu on siis yhdistetty solu 12 solusta (A1:A12) ja 12 Euroopan maata ovat soluissa B1:B12. Esim kun valitsen "eurooppa" valikosta niin näen vain B1 solussa olevan maan tiedot, vaikka haluaisin nähdä kaikkien 12 euroopan maan tiedot. Tietenkin voisin kiertää ongelman pitämällä A1:A12 solut erillisinä ja kirjoittamalla A1:A12 soluihin eurooppa, jolloin ongelmaa ei syntyisi, mutta tällöin taulukon luettavuus kärsii pahasti.

    Äänestä

  • vielä tarkennusta... kirjoitti:

    Kiitos vastauksesta! AutoFilter on siis sama toiminto kuin pikasuodatus. Olen yrittänyt tehdä kuten kuvasit viestissäsi. Mutta ongelma tulee siinä, että kun valitsen "eurooppa" niin Excel näyttää vain "euroopan" ensimmäisellä rivillä olevan maan tiedot. Eurooppa-solu on siis yhdistetty solu 12 solusta (A1:A12) ja 12 Euroopan maata ovat soluissa B1:B12. Esim kun valitsen "eurooppa" valikosta niin näen vain B1 solussa olevan maan tiedot, vaikka haluaisin nähdä kaikkien 12 euroopan maan tiedot. Tietenkin voisin kiertää ongelman pitämällä A1:A12 solut erillisinä ja kirjoittamalla A1:A12 soluihin eurooppa, jolloin ongelmaa ei syntyisi, mutta tällöin taulukon luettavuus kärsii pahasti.

    Koska solut on yhdistetty ei suodatus toimi, koska yhdistetyissä soluissa on tietoa vain sen vasemman yläkulman solussa, joten ainoa mahdollisuus on tehdä makro.
    Makrolla puretaan yhdistetyt solut ja täytetään ne ao tiedoilla, jolloin suodatus toimii...
    Alla nyt simppeli esim. asiasta. Muokkaa mieleiseksi.
    Nyt originaalitiedot Data nimisessä taulukossa, jonka nimi pitää muuttaa sopivaksi.
    Ohjelma aluksi kysyy maanosaa ja tekee sen mukaisen suodatuksen Huuhaa(muuta mieleiseksi) taulukkoon. Sen jälkeen voit tehdä tehdä vapaasti suodatuksia eri kentille alasvetovalikoista.

    Sub Pikasuodatus()
    Dim Hakuehto As String
    Dim Alue As Range
    On Error Resume Next
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

    Set Alue = Sheets("Data").Range("A1").CurrentRegion ' vaihda nimi originaalitiedot tässä
    Sheets("Huuhaa").Delete
    Worksheets.Add().Name = "Huuhaa"
    Alue.Copy Destination:=Sheets("Huuhaa").Range("A1")
    Hakuehto = Application.InputBox("Anna maanosan nimi jonka tietoja haluat tutkia", "Hakukone", "Eurooppa", Type:=2)
    Set Alue = Sheets("Huuhaa").Range("A1").CurrentRegion
    With Alue
    .UnMerge
    .Resize(.Rows.Count, 1).SpecialCells(xlBlanks).Formula = "=R[-1]C"
    Range("A1").AutoFilter Field:=1, Criteria1:=Hakuehto
    End With
    Range("A1").Select

    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    End Sub

    Keep Excelling!
    @Kunde

    Äänestä

  • vielä tarkennusta... kirjoitti:

    Kiitos vastauksesta! AutoFilter on siis sama toiminto kuin pikasuodatus. Olen yrittänyt tehdä kuten kuvasit viestissäsi. Mutta ongelma tulee siinä, että kun valitsen "eurooppa" niin Excel näyttää vain "euroopan" ensimmäisellä rivillä olevan maan tiedot. Eurooppa-solu on siis yhdistetty solu 12 solusta (A1:A12) ja 12 Euroopan maata ovat soluissa B1:B12. Esim kun valitsen "eurooppa" valikosta niin näen vain B1 solussa olevan maan tiedot, vaikka haluaisin nähdä kaikkien 12 euroopan maan tiedot. Tietenkin voisin kiertää ongelman pitämällä A1:A12 solut erillisinä ja kirjoittamalla A1:A12 soluihin eurooppa, jolloin ongelmaa ei syntyisi, mutta tällöin taulukon luettavuus kärsii pahasti.

    vaikka pitää ne solut erillisinä mutta laittaa fontin väriksi valkoinen, paitsi siinä alimmassa. Suodatus toimisi hyvin eikä luettavuuskaan kärsi...

    Äänestä

  • voisi kirjoitti:

    vaikka pitää ne solut erillisinä mutta laittaa fontin väriksi valkoinen, paitsi siinä alimmassa. Suodatus toimisi hyvin eikä luettavuuskaan kärsi...

    Joo täytyy koittaa noita ratkaisuja! Makroista tiedän vain alkeet, mutta ennenkin olen päässyt jyvälle asioista Kunden ratkaisuiden pohjalta. Jälkimmäinen ratkaisu taas kuulostaisi mukavan simppleliltä tavalta.

    Äänestä

Kommentoi aloitusta


Apua kaivattais kirjoitti:

Minulla on taulukko, johon on tuotu useita ns. tietokokonaisuuksia (esim 12 riviä tietoja joista joidenkin sarakkeiden solut on yhdistetty yhdeksi soluksi. Esim A1:A12 kattavassa solussa minulla lukee Eurooppa ja B1:B12 soluissa eri maiden nimiä (italia, ruotsi,ranska,saksa jne) C1:C12 ja D1:D12 vastaavien maiden tietoja. Haluaisin käyttää AutoFilter-toimintoa tietojen poimimiseen taulukosta. Mutta AutoFilter-toimintoa käytettäessä (esim. kun valitsen eurooppa) näyttää Excel vain yhdistetyn solun ensimmäisen rivin tiedot (vain italian tiedot), vaikka haluaisin nähdä kaikkien euroopan maiden tiedot.

Mikäli joku on törmännyt vastaavaan ongelmaan ja löytänyt ratkaisun, niin kaikki apu on tervetullutta!

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu