Solujen lajittelu

Anonyymi

Yritän lajitella taulukon soluja numerojärjestykseen. Soluissa olevat tiedot ovat pääasiassa lukuja, mutta joissakin on myös kirjaimia lopussa. Esim. 1000, 2045, 2346, 1548aa, 1862 bbb jne. Ongelmana on, että Excel aakkostaa ensin pelkkiä numeroita sisältävät ja sitten ne joissa on tekstiä perässä (suoraan numerossa kiinni tai välilyönnillä erotettuna). Minulla oli solujen tyyppinä "Yleinen", muutin sen muotoon "Teksti", mutta se ei auttanut. Miten saisin solut järjestykseen. Käytössä on Excel 2013.

2

1845

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      En keksinyt yhtäkkiä muuta kuin käyttää apusaraketta. Lajittelu menee oikein, jos lisäät kaikkien perään vaikka merkin "-". Välilyönti, numero tai desimaalierotin ei auta.

    • moduuliin...
      Sub Sorttaa()
      Dim Rng As Range
      Dim Vika As Integer
      Dim Solu As Range
      Dim Numero As String
      Dim Teksti As String
      Dim a As Variant
      Application.DisplayAlerts = False
      On Error Resume Next
      'Type:=8 sallii vain solualueen
      Set Rng = Application.InputBox( _
      Title:="Lajittelu", _
      Prompt:="Valitse lajiteltava alue sarakkeesta", _
      Type:=8)
      On Error GoTo 0
      If Rng Is Nothing Then Exit Sub
      Rng.NumberFormat = "@"
      Sheets.Add.Name = "Huuhaa"
      Rng.Copy Worksheets("Huuhaa").Range("A1")
      'pilkotaan solu numero ja tekstiosaan
      For Each Solu In Worksheets("Huuhaa").Range("A1").Resize(Rng.Count)
      ' numero-osa(toimii vain, jos numero-osa on alussa
      Numero = Val(Solu)
      Solu.Offset(0, 1) = Numero
      ' tekstiosa
      Teksti = Application.WorksheetFunction.Replace(Solu, 1, Len(Numero), "@")
      a = Split(Teksti, "@")
      ' lisätään esim. a-kirjain, jotta saadaan lajiteltua pelkän luvun sisältävät solut oikein
      Solu.Offset(0, 2) = "a" & a(1)
      Next
      ' lajitellaan numero-osan ja sitten kirjainten mukaan
      Worksheets("Huuhaa").Columns("A:C").Select
      ActiveWorkbook.Worksheets("Huuhaa").Sort.SortFields.Clear
      ActiveWorkbook.Worksheets("Huuhaa").Sort.SortFields.Add2 Key:=Range("B1:B8") _
      , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
      ActiveWorkbook.Worksheets("Huuhaa").Sort.SortFields.Add2 Key:=Range("C1:C8") _
      , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
      With ActiveWorkbook.Worksheets("Huuhaa").Sort
      .SetRange Range("A1:C8")
      .Header = xlGuess
      .MatchCase = False
      .Orientation = xlTopToBottom
      .SortMethod = xlPinYin
      .Apply
      End With
      'muuta taulukon nimi sopivaksi
      Worksheets("Huuhaa").Range("A1:A" & Rng.Count).Copy Worksheets("Taul1").Range(Rng.Address)
      Worksheets("Huuhaa").Delete
      Application.DisplayAlerts = True
      End Sub

      Keep EXCELing
      @Kunde

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

    Luetuimmat keskustelut

    1. Riikka Purra lupasi Suomen kansalle 1 euron bensaa, hinta nyt 2 euroa

      Vasemmistolaisen Marinin hallituksen aikana bensa ei maksanut kuin 1,3 euroa litralta. Ministerin pitäisi perustuslain m
      Maailman menoa
      52
      3807
    2. Natomaa hyökkäsi Iraniin

      Näemme nyt tällä hetkellä Natomaan nimeltä Yhdysvallat, joka toimii aika pitkälti perinteisen kansainvälisen lain ulkopu
      NATO
      716
      3665
    3. Trump aloitti III maailmansodan tänään.

      Narsisti ja mielipuoli Trump pitäisi saada pois, miten se onnistuisi parhaiten?
      Maailman menoa
      398
      3451
    4. Suvi Lindenillä 5 366 päivän putki

      Täytyy kyllä myöntää vaikka olen itsekin innokas, niin en ole tuollaiseen yli kymmenen vuoden putkeen kyennyt. Välillä o
      Maailman menoa
      81
      3267
    5. Mistä se kertoo

      Näin miehen pitkästä aikaa. Samantien iski sellainen paineen tunne rintaan, sitä ei ole ollut vuosiin. Ja nyt olen siitä
      Ikävä
      36
      3039
    6. Rakas tiedät, että toivoisin

      Kuulevani sinusta. Tiedät, että viestisi tekisi minut ihan onnelliseksi. Että äänesi kuuleminen saisi minut leijumaan ja
      Ikävä
      58
      2528
    7. Eräs on taas viettänyt kokoyön täällä!!

      Etkö sä nuku koskaan??
      Ikävä
      50
      2415
    8. Miksi rakastuit

      Kaivattuusi?
      Ikävä
      103
      2265
    9. Viesti miehelle

      Nyt vastaa oikea taa´app. Ainoastaan puhelimitse voidaan selvittää asioita, mutta tuskin sitä haluat kaiken halveeramise
      Ikävä
      14
      2059
    10. Nyt on sanottava että sattuu kipeästi

      Jos, sinä aikana kun olen kaivannut ja odottanut sinua ja olet tiennyt sen, niin jos valitsit toisen miehen. Katsot minu
      Ikävä
      18
      2049
    Aihe