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.

Excel VBA - Kopiowanie kilku znaków z komórki

coobah 16 Lut 2016 23:07 813 9
  • #1 16 Lut 2016 23:07
    coobah
    Poziom 17  

    Cześć,

    Zwraca się do Was z prośbą o pomoc.

    Mam pewne makro, którego wycinek wklejam poniżej:

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod


    W komórce kopiowanej z kolumny 7 jest np taka wartość:

    31024_LE_B3

    Interesuje mnie tylko sam numer, np. 31024.
    Co zrobić, aby skopiowane zostało tylko pięć pierwszych znaków z tej komórki?
    Zawsze są to cyfry, ale różne.

    W rezultacie chciałbym uzyskać wpis:

    - zwrot z 31024

    A na chwilę obecną mam:
    - zwrot z 31024_LE_B3

    0 9
  • #2 17 Lut 2016 00:05
    marcinj12
    Poziom 40  

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    0
  • #3 17 Lut 2016 00:13
    coobah
    Poziom 17  

    Marcin, w którym miejscu to dopisać?

    0
  • Pomocny post
    #4 17 Lut 2016 00:15
    marcinj12
    Poziom 40  

    Zamiast .Cells(i, 7). Możesz też dodać kropkę przed Cells.

    0
  • #5 17 Lut 2016 00:18
    coobah
    Poziom 17  

    Faktycznie, śmiga elegancko! :
    Dzięki!

    0
  • #6 17 Lut 2016 11:18
    kinggustav
    Poziom 21  

    Pod warunkiem że masz zawsze 5-znakowe numery. :-) Jeżeli nie to radziłbym wyszukać pozycję pierwszego podkreślnika i użyć jej w funkcji Left.

    0
  • #7 17 Lut 2016 16:45
    Maciej Gonet
    Poziom 32  

    Jeśli liczba cyfr jest zmienna, można również użyć funkcji Val, czyli na końcu zamiast

    Kod: text
    Zaloguj się, aby zobaczyć kod
    można napisać
    Kod: text
    Zaloguj się, aby zobaczyć kod

    0
  • #8 18 Lut 2016 08:16
    coobah
    Poziom 17  

    OKi, to ten temat mamy załatwiony :)

    W załączeniu wrzucam plik z makrem i plik z danymi źródłowymi.
    Jak pozmieniać makro, aby z kolumny B w Arkuszu 2 (tam gdzie wrzucam dane źródłowe do przemielenia...) po zapuszczeniu makra w rezultacie otrzymać godzinę wcześniejszą o jedną pełną godzinę? (wiem, masło maślane, ale chyba zrozumiale ;) )

    0
  • #9 18 Lut 2016 09:17
    adamas_nt
    Moderator Programowanie

    Odejmij po prostu. Np tutaj

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    0
  • #10 18 Lut 2016 09:40
    coobah
    Poziom 17  

    Adam, niestety nie działa.
    W Arkuszu 3 wyrzuca i tak godziny które podaję ze źródła.
    Za to coś namieszało się w "Planowanym Czasie Dostawy". Zamiast samej godziny dociąga tam też datę.

    0