Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Automatyczne usuwanie liter oraz znaków Excel

chriss776 23 Wrz 2010 13:34 7929 2
  • #1 23 Wrz 2010 13:34
    chriss776
    Poziom 8  

    Witam. Posiadam w kolumnie wpisanych wiele rekordów w postaci
    (t) 30"
    kopia 30
    długość 30
    (czas) 15
    15 czas
    20" time
    itd.

    szukam funkcji ewentualnie kodu VBA, żeby zostały tylko liczby, czyli trzeba usunąć wszytko co nie jest liczba, chciałbym uzyskać wynik:

    30
    30
    30
    15
    15
    20

    próbowałem używać FRAGMENT.TEKSTU(A1;1;(SZUKAJ.TEKST....
    ale okazuje sie ze ludzka wyobraźnia jest nieograniczona i uzyszkodnicy wpisują mi do kolumny za każdym razem coś innego :(

    pozdrawiam i z góry dziękuje za pomoc

    0 2
  • Pomocny post
    #2 23 Wrz 2010 16:09
    adamas_nt
    Moderator Programowanie

    Z ilu cyfr składa się liczba? Jeśli zawsze z dwóch, to

    Code:
    =JEŻELI(CZY.BŁĄD(LEWY(A1;2)*1);FRAGMENT.TEKSTU(A1;ZNAJDŹ(" ";A1)+1;2)*1;LEWY(A1;2)*1)

    (nie wiadomo tylko co po "itd" :) ). W przeciwnym wypadku zagnieżdżanie n JEŻELI lub (prościej) VBA...

    0
  • #3 24 Wrz 2010 12:37
    chriss776
    Poziom 8  

    dzięki, formuła bardzo fajna, wywaliła mi się tylko na tekście (kopia copy 30)
    ponieważ liczba może składać z jednej, dwóch, trzech cyfr użyłem skryptu VBA znalezionego przez doktora Google :)

    dla innych potrzebujących podaje kod

    Public Function Digits(sVal As String)

    Dim Digit As String
    Dim i As Long

    For i = 1 To Len(sVal)
    Digit = Mid(sVal, i, 1)
    If Digit >= "0" And Digit <= "9" Then Digits = Digits & Digit
    Next i

    End Function

    a w komórce B1

    =IF(A1="";"";digits(A1))

    2