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.

kod VBA kopiujący przefiltrowany zakres komórek w tym samym arkuszu

Siudek1971 12 Lis 2017 07:44 276 8
  • #1 12 Lis 2017 07:44
    Siudek1971
    Poziom 3  

    zwracam się do Was z gorącą prośbą o przygotowanie makra (sam mam jeszcze zbyt małą wiedzę na ten temat), które będzie kopiowało z kolumny A (gdzie są same liczby) tylko komórki z liczbami ujemnymi do kolumny C
    ale w ten sposób, żeby liczby ujemne były w tych samych wierszach co w kolumnie A
    Z góry serdecznie dziękuję za wszelkie porady

    0 8
  • #2 12 Lis 2017 08:15
    mar-ilo
    Poziom 10  

    A nie wystarczy funkcja jeżeli?

    =jezeli(a1<0;a1;"")

    wpisać w c1 i przeciągnąć w dół 😉

    0
  • #3 12 Lis 2017 08:18
    Siudek1971
    Poziom 3  

    Sęk w tym, że kolumna C jest już częsciowo wypełniona i zostają w niej tylko puste komórki własnie na liczby
    ujemne.
    Udało mi się napisać takie makro:
    Sub Kwoty_ujemne()

    Dim kom As Range
    Dim cel As Range

    Application.ScreenUpdating = False
    Set zakres = Range("A4:A800")
    Set cel = Range("C4:C800")

    For Each kom In zakres
    If kom.Value < 0 Then
    zakres.Copy
    cel.PasteSpecial xlPasteValues
    End If
    Next kom
    End
    Application.ScreenUpdating = True

    End Sub

    ale do końca nie spełnia ono moich oczekiwań
    Kopiuje wszystkie wartości z zakresu a nie tylko kwoty ujemne

    0
  • #4 12 Lis 2017 08:27
    mar-ilo
    Poziom 10  

    Nie było w opisie informacji, że są dane częściowo wypełnione... A czym są uzupełnione? również danymi z kolumny A? można w funkcji jeżeli wpisać =JEŻELI(a1<0;a1;"") żeby podawało wartość dla ujemnej liczby a zamiast "" można wstawić co ma dodawać w przeciwnym razie.

    Czy wartości ujemne zawsze są w tym samym wierszu? Dane które są uzupełnione wpisane były ręcznie czy za pomocą funkcji?

    Najlepiej wrzucić plik żeby zobaczyć dokładnie o co chodzi :-)

    0
  • #5 12 Lis 2017 08:47
    Siudek1971
    Poziom 3  

    Dane zawarte w kolumnie C nie mają związku z danymi w kolumnie A.
    Wartości ujemne w kolumnie A występują w różnych wierszach.
    W moim makro zastanawia mnie jak ograniczyć zakres kopiowanych komórek do tych, które
    spełniają warunek, że są w nich liczby ujemne.

    Niestety nie mogę przesłać całego pliku, bo zawiera dane poufne ,ale przesyłam jego fragment Zeszyt..xls Download (28 kB)

    0
  • Pomocny post
    #6 12 Lis 2017 10:22
    JRV
    Specjalista - VBA, Excel

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #7 12 Lis 2017 11:03
    Siudek1971
    Poziom 3  

    Makro działa rewelacyjnie!
    Dziękuję bardzo.
    Nie przypuszczałem, ze tak krótkie makro rozwiąże mój problem.
    Jeszcze raz wielkie dzięki!

    A tak przy okazji, czy w ten sam sposób można w kolejnej kolumnie dodać np jakiś opis a nie tylko wartość ujemną
    np. korekta w kolumnie 4?
    Jeśli tak to co należałoby zmienić w tym makro

    0
  • #8 12 Lis 2017 11:28
    JRV
    Specjalista - VBA, Excel

    zamiast

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    zastap
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #9 12 Lis 2017 11:57
    Siudek1971
    Poziom 3  

    Wszystko pięknie działa!

    Jeszcze raz WIELKIE DZIĘKI !!!!

    0