Wpis z mikrobloga

Mirki, mam problem i może jest ktoś w stanie nakierować na jakieś rozwiązanie. Załóżmy że mamy dwa pliki excela: formularz.xlsx oraz dane.xlsx

W pliku formularz mamy dwie kolumny (patrz zdjęcie).Teraz chce zrobić coś takiego
1. W kolumne B uzytkownik wpisuje trzycyfrowy kod.
2. Po wprowadzeniu wartości nastąpiło wyszukanie danego kodu w drugim pliku dane.xlsx w kolumnie A.
3. Po znalezieniu tego kodu, chce by excel przekopiował opis z kolumny B odpowiadający temu kodowi.
4. Przekopiowany opis został wklejony w pliku formularz w miejscu dopiero co wpisanego kodu.

Jeszcze inaczej: chce by po wpisaniu kodu, excel zobaczyl czy ma odpowiadający temu symbolowi opis. Jeżeli tak to wprowadzoną dopiero co wartośc powinnien podmienić na znaleziony opis.

Dalo by rade coś takiego zrobić? Nakieruje ktoś na jakieś rozwiązanie?

#excel
Pipot - Mirki, mam problem i może jest ktoś w stanie nakierować na jakieś rozwiązanie...

źródło: comment_efPzNB3IgfEE0RDbSNAr0NAAXceeCIp5.jpg

Pobierz
  • 29
  • Odpowiedz
@brak_nicku: Przy "Change" musiałby wyłączać rejestrowanie zdarzeń bo w momencie podmieniania wartości znów wywołałby "Change" (miałbyś nieskończoną "pętlę"), następnie na końcu znów musiałby je włączyć, w przypadku gdyby makro z jakiś powodów się wysypało miałby wyłączone rejestrowania zdarzeń do momentu zresetowania excela (pomijam już fakt, że musiałby obsłużyć np kasowanie wartości z komórek itp).
@Pipot : a pasowałaby Tobie podmiana wartości po kliknięciu na przycisk?
  • Odpowiedz
@Polinik: @5QR_: to na prędce, bez testowania:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim zakres As Range
Dim komorka As Range
Set zakres = Intersect(Range("B:B"), Target)
If Not zakres Is Nothing Then
Application.EnableEvents = False
For Each komorka In zakres
komorka.Value2 = WorksheetFunction.VLookup(...)
Next
Application.EnableEvents = True
End If
End Sub
  • Odpowiedz
@Polinik: nie miałem nieprzyjemności korzystać z elektrody, jestem zmęczony i zaraz idę spać, trafiłem na wątek, w którym ktoś radzi skorzystać z Volatile bez żadnego uzasadnienia, więc postanowiłem zaprotestować. Być może na elektrodzie też tak robią...
  • Odpowiedz
@brak_nicku: Nie radziłem korzystać z volatile.
Odpowiadałem na pytanie "Czy da się ustawić żeby zawsze był aktywny?"
Miałem odpisać "tak, da się to zrobić, ale nie powinno się tego robić, więc nie powiem jak!"?
Nie będę ukrywał wiedzy, bo uważam, że nie powinno się jej stosować.
No proszę, szanujmy się.
  • Odpowiedz
@Polinik:

Nie będę ukrywał wiedzy, bo uważam, że nie powinno się jej stosować.


Ja zadaję konkretne pytania typu: "w jaki sposób zastosowanie funkcji volatile ma pomóc w rozwiązaniu problemu". W odpowiedzi nie widzę konkretów, tylko że "elektrodzę" i kogoś nie szanuję. Nie, ale reaguję, gdy jakieś porady są błędne, w żaden sposób nie pomagają rozwiązać problemu a mogą być szkodliwe. Nie oznacza to, że tracę szacunek do kogoś, kto starał się
  • Odpowiedz
@Polinik: @5QR_: @brak_nicku:

Panowie, dzięki za pomoc. Jednak po przemyśleniu po prostu skończy się pewnie na wstawieniu dodatkowej kolumny i formuły wyszukaj.pionowo. Myślałem że taka rzecz będzie prostsza do wykonania, a niestety pisanie makr to za gruba sprawa dla mnie. W dodatku że to nie jest jakaś ważna kwestia żebym poświecał temu nie wiadomo ile czasu
  • Odpowiedz