Temat: lista rozwijana - wyświetlanie na liście jednych danych a...

Witam,
W kolumnie A mam nazwy krajów, w kolumnie B ich międzynarodowe skróty.
W komórce C1 chcę stworzyć listę rozwijaną (wykorzystując poprawność danych) w której by były wyświetlane nazwy pełne nazwy krajów, a po wskazaniu konkretnego państwa(w tej samej komórce) pokazywałby się jego skrót. Czy jest to wykonalne? W kolumnie D wstawiłem formułę która to wykonuje tylko dla jednego wiersz. Dziękuję za podpowiedzi.
Piotr
Radosław Dumania

Radosław Dumania Senior Master Data
Analyst

Temat: lista rozwijana - wyświetlanie na liście jednych danych a...

Chyba makrem tyko

np takim beznadziejnie glupim( ktore trzeba wywolywac przyciskiem, ale mozna to latwo zamienic na target change)

p.s w walidacji komorki trzeba errory wylaczyc

Sub Macro3()
Dim value As String
Dim i As Integer
value = Range("D1").value

i = 1
Do Until Cells(i, 1).value = value
i = i + 1
Loop

Range("D1").value = Cells(i, 1).Offset(0, 1)

End SubTen post został edytowany przez Autora dnia 25.11.16 o godzinie 19:03
Andy L.

Andy L. ITM, VUB

Temat: lista rozwijana - wyświetlanie na liście jednych danych a...

Poczytaj tutaj 2 in 1

EDIT:
W przerwie SK...
Da się to zrobić bez VBA. Wybierając pełną nazwę kraju, otrzymasz w tej samej komórce nazwę skrótową (np.: Niemcy => DE) tyle tylko, że będziesz musiał ją potwierdzić ponownym wyborem. W DataValidation nie można bez VBA zastosować automatycznej zmiany czy odświeżania/Ten post został edytowany przez Autora dnia 25.11.16 o godzinie 22:44

Temat: lista rozwijana - wyświetlanie na liście jednych danych a...

Dziękuję za informację
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: lista rozwijana - wyświetlanie na liście jednych danych a...

W kolumnie A Kraje, w B Skróty
Dajmy na to 3 kraje od A1 do B3
Polska PL
Niemcy GER
Ruscy RUS


Tworzysz w arkuszu w komórce pole listy (np w D5) na bazie komórek zakresu A
Po kliknięciu na listę otrzymujesz kraje. Wybierając jeden z nich pojawia się on w komórce, aby był tam skrót to umieszczasz kod VBA w module arkusza.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$5" Then
Application.EnableEvents = False
Target.Value = Application.WorksheetFunction.VLookup(Target, Range("A1:B3"), 2, 0)
Application.EnableEvents = True
End If
End Sub

Teraz z listy wybrane Ruscy otrzymujesz RUS
Greg Gregrin

Greg Gregrin Student, Uniwersytet
Opolski

Temat: lista rozwijana - wyświetlanie na liście jednych danych a...

Witam. Potrzebuje wlasnie opisanego tutaj rozwiazania. Niestety jestem slaby w excelu i nie umiem sprawic zeby to zadzialalao. Na domowym kompie z polskim windowsem i excelem 2010 mi sie udalo, niestety na MacOS nie chce ruszyc (a pliku z windowsa nie mam i ewentualnie za pare dni bede mial znowu dostep do tego kompa). Moze ktos zerknac na moj plik zrobiony wedlug powyzszego przykladu i z przeklejonym kodem ??

Od razu zapytam czy gdybym to makro chcial zaadaptowac zeby danych szukalo pionowo w drugim arkuszu (a wybor, czyli z przykladu komorka D5 bylaby w pierwszym) to wystarczy tylko zmienic od momentu:

HLookup(Target, Sheets("Arkusz2").Range("A1:C2"), 2, 0)

??

Plik https://www.easypaste.org/file/MIlp1xcA/Mappe1.xlsm?lan...Ten post został edytowany przez Autora dnia 06.12.18 o godzinie 08:16
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: lista rozwijana - wyświetlanie na liście jednych danych a...

VLookup, i tak skoro obszar znajduje się w innej lokalizacji (arkuszu lub skoroszycie)
Greg Gregrin

Greg Gregrin Student, Uniwersytet
Opolski

Temat: lista rozwijana - wyświetlanie na liście jednych danych a...

Dzieki. Mozna prosic o sprawdzenie mojego pliku i podpowiedz co w nim jest nie tak ze nie chce w ogole dzialac :/
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: lista rozwijana - wyświetlanie na liście jednych danych a...

Panie student, a na Onedrv to daj a nie na wątpliwej jakości witrynę żądającej opłat za ściągnięcie twojego niedziałającego przykładu.

Następna dyskusja:

Poprawność danych - lista




Wyślij zaproszenie do