logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Porównanie danych i skopiowanie wyniku do komórki VBA

lukaszwat 13 Lis 2014 14:51 1995 12
REKLAMA
  • #1 14127569
    lukaszwat
    Poziom 9  
    Posty: 37
    Ocena: 2
    Witam Wszystkich

    bardzo proszę o pomoc
    chciałbym porównać dwa arkusze - arkusz 1 po kolumnie A z arkuszem 2 po kolumnie D.
    Następnie wynik z arkusza 1 komórki np. C3 wstawić do arkusza 2 do komórki np. B2

    Ogólnie mówiąc chciałbym żeby znalazł po kolumnie A takie same komórki i wstawił w arkuszu 2 w kolumnie B wynik z arkusza 1 z kolumny C

    Mam nadzieje że jasno napisałem
    z góry dziękuje za pomoc
  • REKLAMA
  • #3 14127638
    lukaszwat
    Poziom 9  
    Posty: 37
    Ocena: 2
    Ja myślałem na początku zrobić to ręcznie że sam porównam kolumny ale przecież jest jakaś możliwość zrobienia tego automatycznie

    Sheets("Arkusz1").Cells(3, kol).Copy Destination:=Sheets("Arkusz2").Cells(2, 4)
    Sheets("Arkusz1").Cells(4, kol).Copy Destination:=Sheets("Arkusz2").Cells(3, 4)
  • #4 14127711
    PRL
    Poziom 41  
    Posty: 6921
    Pomógł: 953
    Ocena: 903
    Cytat:
    Następnie wynik z arkusza 1 komórki np. C3 wstawić do arkusza 2 do komórki np. B2

    VBA, jak i każdy inny język, niestety nie ma zmiennej 'np' - na przykład.;)

    Czy trzeba dusić, czy też powiesz konkretnie?
    Jak powiesz konkretnie, to dostaniesz kompletny kod.

    P.S. Excel obudził w użytkownikach lenia.
    Z jedne strony arkusz, baza danych, a z drugiej kartka papieru na ekranie.
    Jak wiadomo, 'papier wszystko przyjmie'...
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #5 14127842
    lukaszwat
    Poziom 9  
    Posty: 37
    Ocena: 2
    ok, postaram się napisać to co potrzebuje jak najlepiej umiem

    W arkuszu 1 w kolumnie A (A1:A10) i w arkusz 2 w kolumnie D (D1:D10) znajdują się te same dane.
    Chciałbym żeby makro porównało te dwie kolumny i skopiowało komórkę C1 do B1 jak w kolumnie A będzie ta sama wartość co w kolumnie D.

    Chodzi o to żeby w Arkuszu1 komórce A1 znajduje się słowo Fiat to wtedy makro znajduje, że w Arkuszu2 w komórce D5 znajduje się też słowo Fiat i wtedy kopiuje wartość z Arkusza1 komórki C1 do Arkusza2 B5

    w Arkuszu1 komórce A2 znajduje się słowo Skoda to wtedy makro znajduje słowo Skoda w Arkuszu2 komórce D3 i kopiuje wartość z Arkusza1 komórki C2 do Arkusza2 B3

    mam nadzieje, że wyjaśniłem o co mi chodzi
    pozdr
  • REKLAMA
  • #7 14130192
    lukaszwat
    Poziom 9  
    Posty: 37
    Ocena: 2
    Dzięki o to właśnie chodziło :)

    Dodano po 24 [minuty]:

    A jak zrobić taki wyróżnik że jak na trafi na słowo VW to żeby skopiował wartość innej komórki ale już wkleił do tej kolumny B gdzie znajduje się dane słowo
    (Arkusza1 komórki B1 do Arkusza2 w kolumnie B gdzie znajduje się słowo VW)
  • Pomocny post
    #8 14130446
    PRL
    Poziom 41  
    Posty: 6921
    Pomógł: 953
    Ocena: 903
    Cytat:
    żeby skopiował wartość innej komórki



    Cells(x, 2) = InnaKomorka;)

    Kolego, jak poprzednim razem, proszę pisać konkretnie.

    Dodano po 35 [minuty]:

    Łukaszu, ja Ci nie pomogłem tym wpisem.
    Pewnie nie zauważyłeś średnika na końcu.:)
    Napisz konkretnie, co makro ma robić w przypadku, gdy w 'Arkusz2', w kolumnie D znajdzie się zapis 'VW', to Ci przerobię powyższe makro.
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #9 14130539
    lukaszwat
    Poziom 9  
    Posty: 37
    Ocena: 2
    Dziękuje za cierpliwość i przepraszam za moje wytłumaczenie mojego problemu
    spróbuje tak :)
    potrzebuje żeby tak jak na rysunkach - tak jak zrobiłeś wcześniej żeby się wyszukiwało (Bardzo fajnie) i dodatkowo jak natrafi na VW to z arkusza1 komórki E9 skopiuje wartość do arkusza2 do komórki B3

    Porównanie danych i skopiowanie wyniku do komórki VBA Porównanie danych i skopiowanie wyniku do komórki VBA
  • #11 14130624
    lukaszwat
    Poziom 9  
    Posty: 37
    Ocena: 2
    dziękuje bardzo, bardzo o to właśnie mi chodziło
    pozdrawiam
    i miłego dnia życzę
  • #13 14142708
    lukaszwat
    Poziom 9  
    Posty: 37
    Ocena: 2
    Witam ponownie
    mam jeszcze jedną prośbę jak zrobić takie makro, postaram się wytłumaczyć.

    Ogólnie mówiąc chciałbym żeby na początku makro sprawdzało czy w arkuszu 1 w komórce C2 znajduje się wartość jeżeli tak to tworzy nowy arkusz z tą nazwą i kopiuje zawartość z Arkusza 2 od A1:H7. Następnie skopiowane wartości porównuje - Arkusz 1 wartości od A3 do A6 porównuje z nowo powstałym Arkuszem (Skoda) z komórkami od H2 do H5 i kopiuje wartości z arkusza 1 od C3 do C6 i wstawia je do Nowo powstałego arkusza od D2 do D5, a i jak trafi na nazwę kwota to wartość bierze z komórki B. Następnie makro kopiuje z arkusza 1 komórkę C2 i wstawia ją do nowo powstałego arkusza do komórek C2, C5, C8, C9, i F8.
    teraz makro powinno wrócić do początku

    i sprawdzić czy w komórce D2 znajduje się wartość jeśli tak to tworzy nowy arkusz z tą nazwą (VW) i kopiuje zawartość z Arkusza 2 od A1:H7. Następnie skopiowane wartości porównuje - Arkusz 1 wartości od A3 do A6 porównuje z nowo powstałym Arkuszem (VW) z komórkami od H2 do H5 i kopiuje wartości z arkusza 1 od D3 do D6 i wstawia je do Nowo powstałego arkusza od D2 do D5, i jak trafi na nazwę kwota to wartość bierze z komórki B. Następnie makro kopiuje z arkusza 1 komórkę D2 i wstawia ją do nowo powstałego arkusza do komórek C2, C5, C8, C9, i F8.

    I tak samo z fiatem (E2) i nissanem (F2)

    Mam nadzieje, że dobrze naświetliłem swój problem

    z góry dziękuje za pomoc
    Załączniki:
    • Porównanie danych i skopiowanie wyniku do komórki VBA a4.jpg (44.96 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Porównanie danych i skopiowanie wyniku do komórki VBA a2.jpg (41.04 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Porównanie danych i skopiowanie wyniku do komórki VBA a1.jpg (37.27 KB) Musisz być zalogowany, aby pobrać ten załącznik.

Podsumowanie tematu

✨ Użytkownik poszukiwał pomocy w porównaniu dwóch arkuszy w Excelu, gdzie dane w Arkuszu 1 w kolumnie A miały być porównane z danymi w Arkuszu 2 w kolumnie D. Celem było skopiowanie wartości z kolumny C Arkusza 1 do kolumny B Arkusza 2, gdy wartości w kolumnach A i D były identyczne. Po kilku wymianach zdań, użytkownik otrzymał kod VBA, który realizował tę funkcjonalność, a także dodatkowe modyfikacje, takie jak różnicowanie działań w przypadku napotkania konkretnego słowa (np. "VW"). Użytkownik z sukcesem zaimplementował makro i poprosił o dalsze wsparcie w tworzeniu bardziej złożonego makra, które miałoby tworzyć nowe arkusze na podstawie wartości w Arkuszu 1 oraz kopiować i porównywać dane z różnych zakresów.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA