Mam listę z pełną nazwą przedmiotu i obok niego z krótką nazwą przedmiotu.
Chciałbym utworzyć rozwijaną listę, w której będzie wyświetlać długą nazwę, ale pokaże tylko krótką nazwę po wybraniu.
Czy istnieje jakiś sposób, aby to zrobić?
Mam listę z pełną nazwą przedmiotu i obok niego z krótką nazwą przedmiotu.
Chciałbym utworzyć rozwijaną listę, w której będzie wyświetlać długą nazwę, ale pokaże tylko krótką nazwę po wybraniu.
Czy istnieje jakiś sposób, aby to zrobić?
Odpowiedzi:
Będzie to wymagać VBA. Rozważ ten scenariusz:
Sprawdzanie poprawności danych w kolumnie D jest obsługiwane przez wartości LongList w kolumnie A.
Zdarzenie zmiany arkusza będzie działać w kolumnie D, wykonaj Vlookup, aby uzyskać krótką wartość i zastąpić wartość bieżącej komórki. Oto kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim short As String
If Not Intersect(Target, Range("D:D")) Is Nothing Then
short = Application.VLookup(Target.Value, Range("A1:B4"), 2, False)
Application.EnableEvents = False
Target = short
Application.EnableEvents = True
End If
End Sub
Kliknij kartę Arkusz prawym przyciskiem myszy i wybierz „Wyświetl kod”. Wklej powyższy kod w oknie kodu. Dostosuj odwołania do komórek, aby odzwierciedlić skoroszyt.