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.

VBA - Przerobienie formuły R1C1 na pętle

maxblack007 17 Lis 2016 11:14 528 5
  • #1 17 Lis 2016 11:14
    maxblack007
    Poziom 2  

    Cześć koledzy,

    Jestem początkujący w świecie VBA i cieszę się, że udało mi się odkryć to forum, które traktuję jako źródło wielu informacji. Tym samym chciałbym prosić Was o pomoc z jedną rzeczą. Mianowicie chciałbym przerobić poniższy kod, w którym jest zastosowana forumła R1C1 na pętle z IF.

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    Ogólny pomysł jest taki, że ma sprawdzać czy wartość w kolumnie B ma więcej znaków niż 6, jeżeli tak to ma odciąć z prawej, a jak nie to wstawić wartość z kolumny B.

    Dzięki za pomoc

    0 5
  • Pomocny post
    #2 17 Lis 2016 11:35
    cbrman
    Poziom 27  

    A czemu ma służyć zamiana tego kodu na pętlę z IF? Bo wydajniejsze to raczej to nie będzie, chyba że chodzi o kwestie czysto edukacyjne.

    Jeśli w komórkach kolumny C chcesz mieć wartości zamiast wyników formuły to do powyższego kodu dopisz:

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    0
  • #3 17 Lis 2016 11:46
    maxblack007
    Poziom 2  

    Dzięki cbrman, z jednej strony chciałem mieć wyniki, zamiast formuł, w związku z czym bardzo Ci dziękuję!

    Z drugiej strony im bardziej się w to zagłębiałem to tym bardziej chciałbym to rozgryźć jak to zrobić, więc byłbym wdzięczny ze względów edukacyjnych jak to by wyglądało.

    0
  • Pomocny post
    #4 17 Lis 2016 11:52
    JRV
    Specjalista - VBA, Excel

    Biorąc pod uwagę właściwości funkcji Right, IF nie jest wymagane

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Dodano po 3 [minuty]:

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #5 17 Lis 2016 12:07
    maxblack007
    Poziom 2  

    JRV napisał:
    Biorąc pod uwagę właściwości funkcji RIGHT, IF nie jest wymagane
    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Faktycznie, jeżeli będzie tylko 6 znaków to nie przecież nie utnie tego...., ale się zakręciłem w tym. Dzięki JRV, za zwrócenie uwagi.

    Tym nie mniej gdyby funkcja RIGHT nie miała takiej właściwości to jak to ugryźć pętlą. For each? Pytam z czystej ciekawości, jakbym miał w przyszłości problem.

    Dzięki

    0
  • Pomocny post
    #6 17 Lis 2016 21:47
    adamas_nt
    Moderator Programowanie

    Takie coś Np

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
    gdzie instrukcja If jest zupełnie zbędna ;)

    Poczytaj trochę teorii, Np tutaj: Link

    0