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

1761

    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. Useita puukotettu Tampereella

      Mikäs homma tämä nyt taas on? "Useaa henkilöä on puukotettu Tampereen keskustassa kauppakeskus Ratinan lähistöllä." ht
      Tampere
      234
      4502
    2. Kuka rääkkää eläimiä Puolangalla?

      Poliisi ampui toistakymmentä nälkiintynyttä eläintä Puolangalla Tilalta oli ollut karkuteillä lähes viisikymmentä nälkii
      Puolanka
      75
      2924
    3. Leipivaaran päällä on kuoleman hiljaista.

      Suru vai suuri helpotus...
      Puolanka
      47
      2433
    4. Meneeköhän sulla

      oikeasti pinnan alla yhtä huonosti kuin mulla? Tai yhtä huonosti mutta jollain eri tyylillä? Ei olisi pitänyt jättää sua
      Ikävä
      45
      1737
    5. Koska näit kaivattusi viimeksi

      Milloin tapasit rakkaasi? Ja etenikö suhde yhtään?
      Ikävä
      78
      1409
    6. Lähetä terveisesi kaipaamallesi henkilölle

      Vauva-palstalta tuttua kaipaamista uudessa ympäristössä. Kaipuu jatkukoon 💘
      Ikävä
      83
      1212
    7. Laitetaas nyt kirjaimet tänne

      kuka kaipaa ja ketä ?
      Ikävä
      21
      1193
    8. PS uusimman gallupin rakettimainen nousija

      https://yle.fi/a/74-20170641 Aivan ylivoimaisesti suurin kannatuksen nousu PS:lle. Nousu on alkanut ja jatkuu 2 vuoden
      Maailman menoa
      137
      939
    9. Tekiskö nainen mieli tavata...

      Viikonloppuna ja...?
      Ikävä
      69
      908
    10. Sellainen tunne sydämessä

      Että nainen olet kaivannut minua. Tai sanonko että oikeastaan koet sitä samaa nostalgiaa, kaipuuta ja mukavia muistoja,
      Ikävä
      86
      874
    Aihe