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

1703

    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. En voi jutella kanssasi

      tietenkään, mutta täällä voin sanoa sinulle, että se sinun hiljaisuutesi ja herkkyytesi eivät ole heikkoutta. Ne ovat ih
      Tunteet
      57
      7360
    2. Trump ja Vance murskasivat ja nolasivat Zelenskyn tiedotusvälineiden edessä Valkoisessa talossa.

      Jopa oli uskomaton tilaisuus Valkoisessa talossa. Zelensky jäi täydelliseksi lehdellä soittelijaksi suhteessa Trumpiin j
      Maailman menoa
      739
      3634
    3. Zelenskyi ei suostunut nöyrtymään Trumpin ja Vancen edessä, siksi meni pieleen

      Trumppia täytyy imarrella, silloin homma toimii aina. Tähän Zelenskyi ei suostunut.
      Maailman menoa
      374
      2019
    4. Mikä on kaivattusi ärsyttävin piirre?

      Mun kaivattu on erittäin vastahakoinen puhumaan itsestä. Kääntää puheenaiheen aina muuhun kun hänestä tulee puhetta.
      Ikävä
      165
      1826
    5. Koska olet rakastellut

      Kaivattusi kanssa viimeksi?
      Ikävä
      86
      1489
    6. Kokoomus haluaa hoitaa flussat yksityisellä, jotta säästettäisiin rahaa ja aikaa

      Mies hakeutui Terveystalo Kamppiin flunssaoireiden takia helmikuisena sunnuntai-iltana. Diagnoosiksi kirjattiin influens
      Maailman menoa
      84
      1401
    7. Miten saisin

      Sinut omakseni?
      Ikävä
      91
      1300
    8. Anteeksi Pekka -vedätys

      Apuna Ry:n somessa levinnyt Anteeksi Pakka -kampanja saa aina vaan kummallisempia piirteitä. ”Mä pyydän anteeksi. Mä
      Maailman menoa
      63
      1267
    9. Rakkaus ei iloitse vääryydestä vaan iloitsee yhdessä TOTUUDEN kanssa.

      Tajuatteko, että jotkut ihmiset pitävät siitä, kun toiset kaatuvat? He nauttivat siitä, kun toiset mokaavat tai käyttävä
      Idän uskonnot
      262
      1251
    10. Kumpi tästä

      Teidän tilanteesta teki vaikeaa? Sivusta
      Ikävä
      81
      1164
    Aihe