Forum elektroda.pl

Regulamin  | Punkty  | Dodaj...  | Ostatnie  | Szukaj  | Rejestracja  | Zaloguj

Ta strona używa cookie. Dowiedz się więcej o celu ich używania i zmianie ustawień cookie w przeglądarce.
Korzystając ze strony wyrażasz zgodę na używanie cookie, zgodnie z aktualnymi ustawieniami przeglądarki.

[VBA]Makro podobne do wyszukaj pionowo w excelu


Napisz nowy temat  Odpowiedz do tematu      Strona Główna -> Forum elektroda.pl -> Programowanie Ogólne -> Programowanie Początkujący -> [VBA]Makro podobne do wyszukaj pionowo w excelu
Autor
Wiadomość
bolu_
Poziom 4
Poziom 4


Dołączył: 01 Sie 2010
Posty: 10

Post#1 Post autora tematu 01 Sie 2010 12:18   

[VBA]Makro podobne do wyszukaj pionowo w excelu


Witam,

mam taki problem ze chcialbym sobie troche usprawnic prace i aby to zrobic musze stworzyc makro w excelu. Chodzi o to aby program przeszukiwal wartsci z Arkusza1 w Arkuszu2 i zwracal w Arkuszu1 w tych samych wierszach (obok) wartosci z wierszy obok znalezionych wartosci w Arkuszu2. Troche to zagmatwane. Chodzi o cos podobnego do wyszukaj pionowo z tym ze jest taki problem ze do jednej wartosci z arkusza1 moga byc przypisane dwa wiersze (albo wiecej)do sciagniecia z Arkusza2. I chcialbym zeby progam w takim przypadku wstawial dodatkowe wiersze w Arkuszu1 i kopiowal te wartosci.

Zalaczam przykladowy plik. Gdyby ktos z Was moglby mi w tym pomoc bylbym bardzo wdzieczny

Załączniki:
Powrót do góry
   
Google


Google Adsense


Post# 01 Sie 2010 12:18   





Powrót do góry
   
marcinj12
Poziom 23
Poziom 23


Dołączył: 14 Lut 2005
Posty: 2842
Miasto: Wrocław

Post#2 01 Sie 2010 14:25   

Re: [VBA]Makro podobne do wyszukaj pionowo w excelu


Wygooglaj i popatrz na użycie funkcji FIND.
Powrót do góry
   
bolu_
Poziom 4
Poziom 4


Dołączył: 01 Sie 2010
Posty: 10

Post#3 Post autora tematu 01 Sie 2010 15:14   

Re: [VBA]Makro podobne do wyszukaj pionowo w excelu


z tego co wygooglowalem to funkcja find jest do znajdowania ciagu znakow w komorce od zadanego numeru znaku. nie mam pomyslu jakby to mogloby sie przydac do opisywanego przeze mnie problemu
Powrót do góry
   
marcinj12
Poziom 23
Poziom 23


Dołączył: 14 Lut 2005
Posty: 2842
Miasto: Wrocław

Post#4 01 Sie 2010 15:54   

Re: [VBA]Makro podobne do wyszukaj pionowo w excelu


Tutaj masz przykład jak ta funkcja można wyszukiwać w całej kolumnie. Ostatni listing pokazuje jak wyszukać kilka wartości i wstawić komentarz - w Twoim wypadku musisz wyszukiwać w arkuszu 2, a wstawiać nie komentarze, a znalezione wyniki do arkusza 1.
Powrót do góry
   
bolu_
Poziom 4
Poziom 4


Dołączył: 01 Sie 2010
Posty: 10

Post#5 Post autora tematu 01 Sie 2010 17:40   

Re: [VBA]Makro podobne do wyszukaj pionowo w excelu


jesli chodzi o vba to znam go bardzo pobieznie. dostosowalem sobie kod ktory wskazales do swoich potrzeb jednak brakuje mu jeszcze troche do tego o czym pisalem. Mianowicie:

1) nie wiem jak wstawic te dane ktore teraz mi wyswietla obok w Arkuszu2 do Arkusza1, musialby tez niekiedy wstawiac wiersz
2) w tej chwili zrobilem tak ze szuka tego co znajduje sie w aktywnej komorce, jest to tez troche uciazliwe przy kilku tysiacach rekordow
3) napisany algorytm uwzglednia jedynie mozliwosc ze do jednego preta beda mozliwe maksymalnie dwa rodzaje a w praktyce jest tak ze moze byc ich kilka, nie wiadomo konkretnie (cos mi sie wydaje ze tu by musiala byc jakas petla do while nastepna komorka jest pusta az natrafi na niepusta)


nie wiem czy ide w dobrym kierunku;]

Załączniki:
Powrót do góry
   
Google


Google Adsense


Post# 01 Sie 2010 17:40   





Powrót do góry
   
marcinj12
Poziom 23
Poziom 23


Dołączył: 14 Lut 2005
Posty: 2842
Miasto: Wrocław

Post#6 01 Sie 2010 18:58   

Re: [VBA]Makro podobne do wyszukaj pionowo w excelu


A czy w arkusz 2 muszą być te puste pola a kolumnie A (np. pod pret3 ?) Bo na pewno byłoby łatwiej, gdyby kolumna po której wyszukujesz nie zawierała pustych wartości...
Wtedy kod wyglądałby tak:
Kod:

Private Sub CommandButton1_Click()
Set wscel = Worksheets("Arkusz1")
Set wsbaza = Worksheets("Arkusz2")

ost_wiersz_celu = wscel.Range("A65536").End(xlUp).Row
ost_wiersz_bazy = wsbaza.Range("A65536").End(xlUp).Row

For Each szukany In wscel.Range("A1:A" & ost_wiersz_celu)
    kol = 2
   
    Set c = wsbaza.Range("A1:A" & ost_wiersz_bazy).Find(What:=szukany, LookIn:=xlValues, LookAt:=xlPart)

    If Not c Is Nothing Then
        firstAddress = c.Address
       
        Do
            Set c = wsbaza.Range("A1:A" & ost_wiersz_bazy).FindNext(c)
           
            wscel.Cells(szukany.Row, kol) = wsbaza.Range("B" & c.Row)
            kol = kol + 1
           
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
Next szukany
End Sub

Powrót do góry
   
bolu_
Poziom 4
Poziom 4


Dołączył: 01 Sie 2010
Posty: 10

Post#7 Post autora tematu 01 Sie 2010 19:14   

Re: [VBA]Makro podobne do wyszukaj pionowo w excelu


hmm;] to ze byloby latwiej to ja wiem, niestety tak jest skonstruowany arkusz na ktorym bede wykorzystywal to makro (kilka tysiecy pozycji) dlatego tez do tego przykladu przyjalem takie zalozenia. jesli chodzi o zalatwienie sprawy pustych komorek to mozna dodac kilkanascie ifow i to dziala nie mowiac o tym ze to lamerstwo;])
Powrót do góry
   
Google


Google Adsense


Post# 01 Sie 2010 19:14   





Powrót do góry
   
marcinj12
Poziom 23
Poziom 23


Dołączył: 14 Lut 2005
Posty: 2842
Miasto: Wrocław

Post#8 01 Sie 2010 19:20   

Re: [VBA]Makro podobne do wyszukaj pionowo w excelu


A tutaj kod który wypełni przed wykonaniem funkcji FIND puste pola, do wstawienia przed pętlą for each...
Kod:

poprzedni = wsbaza.Range("A1")
For Each c In wsbaza.Range("A1:A" & ost_wiersz_bazy)
    If c = "" Then
        c.Value = poprzedni
    Else
        poprzedni = c
    End If
Next c

Powrót do góry
   
bolu_
Poziom 4
Poziom 4


Dołączył: 01 Sie 2010
Posty: 10

Post#9 Post autora tematu 02 Sie 2010 09:25   

Re: [VBA]Makro podobne do wyszukaj pionowo w excelu


wkleilem ten kod ale pokazuje mi znalezione wartosci w jednym wierszu w arkuszu1, potrzebuje zeby to robil w kolumnie, oprocz rodzaju niezbedna jest jeszcze waga konkretnie dla niego tak zebym to pozniej mogl jeszcze obrobic
Powrót do góry
   
marcinj12
Poziom 23
Poziom 23


Dołączył: 14 Lut 2005
Posty: 2842
Miasto: Wrocław

Post#10 02 Sie 2010 09:28   

Re: [VBA]Makro podobne do wyszukaj pionowo w excelu


Tzn. jak to ma wyglądać, bo nie rozumiem... Możesz zamieścić przykład??
Powrót do góry
   
bolu_
Poziom 4
Poziom 4


Dołączył: 01 Sie 2010
Posty: 10

Post#11 Post autora tematu 02 Sie 2010 11:54   

Re: [VBA]Makro podobne do wyszukaj pionowo w excelu


oto przyklad

Załączniki:
Powrót do góry
   
marcinj12
Poziom 23
Poziom 23


Dołączył: 14 Lut 2005
Posty: 2842
Miasto: Wrocław

Post#12 02 Sie 2010 12:41   

Re: [VBA]Makro podobne do wyszukaj pionowo w excelu


Sprawdź kod z załącznika...

Załączniki:
Powrót do góry
   
Google


Google Adsense


Post# 02 Sie 2010 12:41   





Powrót do góry
   
bolu_
Poziom 4
Poziom 4


Dołączył: 01 Sie 2010
Posty: 10

Post#13 Post autora tematu 02 Sie 2010 13:04   

Re: [VBA]Makro podobne do wyszukaj pionowo w excelu


pieknie!!! do pelni szczescia brakuje mi tylko zeby jak dodaje wiersz przepisywal rowniez ilosc w te puste komorki, w przykladzie o tym zapomnialem. jesli znajdziesz chwile to prosze dodaj to do kodu.
Powrót do góry
   
marcinj12
Poziom 23
Poziom 23


Dołączył: 14 Lut 2005
Posty: 2842
Miasto: Wrocław

Post#14 02 Sie 2010 13:38pomocny post - solucja   

Re: [VBA]Makro podobne do wyszukaj pionowo w excelu


Odszukaj ten fragment i dodaj ostatnią linijkę:
Kod:

'kopiuj wartości
wscel.Cells(wstaw, 3) = wsbaza.Range("B" & i)
wscel.Cells(wstaw, 4) = wsbaza.Range("C" & i)
wscel.Range("B" & wstaw) = szukaneTabl(r, 2)

Powrót do góry
   
bolu_
Poziom 4
Poziom 4


Dołączył: 01 Sie 2010
Posty: 10

Post#15 Post autora tematu 02 Sie 2010 14:59   

Re: [VBA]Makro podobne do wyszukaj pionowo w excelu


tak, to jest to o co mi chodzilo;] dziekuje bardzo. Mam tylko jeszcze jeden problem powiazany. Mianowicie niektorych wartosci nie wyszukuje mi w bazie, przy tych komorkach excel pokazuje mi ze liczba jest przechowywana jako tekst. nawet jesli zaznacze cala kolumne i zmienie na format liczbowy to format tych komorek sie nie zmienia, nie wiem dlaczego.
Powrót do góry
   
marcinj12
Poziom 23
Poziom 23


Dołączył: 14 Lut 2005
Posty: 2842
Miasto: Wrocław

Post#16 02 Sie 2010 15:14   

Re: [VBA]Makro podobne do wyszukaj pionowo w excelu


Tak już działa Excel... Jeżeli do kolumny tekstowej wpisujesz ręcznie liczbę, to jest ona przechowywana jako tekst.
Musisz zrobić jeden z tych kroków:
1. zmienić format kolumny na liczbowy PRZED wpisaniem tam wartości,
2. zmienić kolumnę na liczbową, a następnie wejść w każdą komórkę wciskając F2 i zatwierdzając Enterem.
3. zaznaczyć całą kolumnę, kliknąć ten zielony trójkącik i z menu wybrać "Konwertuj na liczbę"
4. Zmienić format kolumny na liczbowy, w kolumnie obok wpisać funkcję typu: =A1*1, przeciągnąć, wkleić specjalnie jako wartości, skopiować wynik i przykleić ponownie do kolumny liczbowej jako wartości.
Powrót do góry
   
Napisz nowy temat  Odpowiedz do tematu      Strona Główna -> Forum elektroda.pl -> Programowanie Ogólne -> Programowanie Początkujący -> [VBA]Makro podobne do wyszukaj pionowo w excelu
Strona 1 z 1
Podobne tematy
[VBA]Makro podobne do wyszukaj pionowo w excelu (9)
VBA, makro, excel, (=wyszukaj.pionowo... (1)
Makro VBA - Wyszukaj Pionowo w skoroszycie dane i skopiuj w odpowiednie miejsce (2)
EXCEL MAKRO activecell.formula i wyszukaj.pionowo (4)
VBA wyszukaj pionowo i wstaw do TextBoxa (2)
Makro vb porównanie plików z danymi coś w rodzaju wyszukaj pionowo (14)
VBA Excel - coś jakby wyszukaj pionowo (2)
Programowanie excel VBA - Excel vba wyszukaj.pionowo (4)
makro VBA w excelu - pobieranie i segregacja danych wg wytycznych (1)
MS Word VBA/Makro/Hiperłącze - Przejście do konkretnej komórki w Excelu (1)


Administrator || Moderatorzy || Regulamin forum || Regulamin ogólny || Informacja o cookies || Kontakt

Page generation time: 0.069 seconds

elektroda.pl temat RSS