Note: The other languages of the website are Google-translated. Back to English

Cum se creează casete de listă dinamice în cascadă în Excel?

Este posibil să știți cum să creați o listă derulantă de validare în cascadă în Excel. Cu toate acestea, cum să creați casete de listă dinamice în cascadă în Excel? Acest articol introduce o metodă VBA pentru ao descărca.

Creați casete de listă dinamice în cascadă cu cod VBA

Fila Office Activați editarea și navigarea cu file în Office și faceți munca mult mai ușoară ...
Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%
  • Reutilizați orice: Adăugați cele mai utilizate sau complexe formule, diagrame și orice altceva la preferatele dvs. și reutilizați-le rapid în viitor.
  • Peste 20 de caracteristici text: Extrageți numărul din șirul de text; Extrageți sau eliminați o parte din texte; Conversia numerelor și valutelor în cuvinte în limba engleză.
  • Instrumente de îmbinare: Mai multe cărți de lucru și foi într-unul; Combinați mai multe celule / rânduri / coloane fără a pierde date; Combinați rândurile duplicate și suma.
  • Instrumente divizate: Împărțiți datele în mai multe foi bazate pe valoare; Un registru de lucru pentru mai multe fișiere Excel, PDF sau CSV; O coloană la mai multe coloane.
  • Lipiți săriți Rânduri ascunse / filtrate; Număr și sumă de Culoarea fundalului; Trimiteți e-mailuri personalizate către mai mulți destinatari în bloc.
  • Super Filtru: Creați scheme avansate de filtrare și aplicați oricăror foi; Sortează pe săptămână, zi, frecvență și multe altele; Filtru prin îndrăznețe, formule, comentarii ...
  • Peste 300 de caracteristici puternice; Funcționează cu Office 2007-2021 și 365; Suporta toate limbile; Implementare ușoară în întreprinderea sau organizația dvs.

Creați casete de listă dinamice în cascadă cu cod VBA

Așa cum este prezentat mai jos captura de ecran, trebuie să creați o casetă listă părinte care să conțină valorile unice ale coloanei Băutură și să afișați toate valorile corespunzătoare în a doua casetă listă pe baza selecției din caseta listă părinte. Următorul cod VBA vă ajută să îl realizați. Vă rugăm să faceți următoarele.

1. În primul rând, trebuie să extrageți toate valorile unice din coloana Băutură. Selectați o celulă goală, introduceți formula matricei =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") în Formula Barului, apoi apăsați tasta Ctrl + Schimba + Intrați cheie. Apoi trageți Mâner de umplere pentru a obține toate valorile unice. Vedeți captura de ecran:

notițe: În formulă, $A$2:$A$11 este intervalul din care veți extrage valori unice. J1 este celula de deasupra unde se află formula dvs.

varful: Dacă formula este prea greu de reținut și manipulat, Selectați celule duplicate și unice utilitatea Kutools pentru Excel va fi o alegere bună pentru a extrage rapid toate valorile unice dintr-o coloană.

Selectați coloana care conține valori unice din care veți extrage. Apoi activați utilitarul făcând clic pe Kutools > Selectați > Selectați celule duplicate și unice. În Selectați celule duplicate și unice caseta de dialog, selectați Toate unice (inclusiv primele duplicate) și faceți clic pe OK buton. Apoi toate valorile unice sunt selectate în coloană. Vă rugăm să le copiați și să le lipiți într-un loc nou. Vedeți captura de ecran:

Kutools pentru Excel: cu mai mult de 200 de programe de completare Excel la îndemână, încercați fără limitări în 60 de zile. Descărcați și proba gratuită acum!

2. Introduceți separat două casete de listă făcând clic pe Dezvoltator > Insera > Casetă listă (control ActiveX). Vedeți captura de ecran:

3. Faceți clic dreapta pe caseta listă părinte și selectați Proprietăţi din meniul contextual. În Proprietăţi caseta de dialog, schimbați fișierul (Nume) domeniu la Bea sau alt nume după cum aveți nevoie, introduceți intervalul de celule conține valorile unice extrase în ListFillRange și închideți caseta de dialog.

4. Repetați pasul 3 pentru a schimba cea de-a doua listă (Nume) câmp la Element în Proprietăţi căsuță de dialog.

5. Faceți clic dreapta pe fila foaie și selectați Afișați codul din meniul cu clic dreapta. Apoi copiați mai jos codul VBA în fereastra Cod. Vedeți captura de ecran:

Cod VBA: creați casete de listă dinamice în cascadă în Excel

Dim xPreStr As String
Private Sub Drink_Click()
'Update by Extendoffice 2018/06/04
    Dim I, xRows As Long
    Dim xRg As Range
    Dim xRegStr As String
    Application.ScreenUpdating = False
    xRegStr = Me.Drink.Text
    Set xRg = Range("A2:A11")
    xRows = xRg.Rows.Count
    If xRegStr <> xPreStr Then
    Me.Item.Clear
   'Me.OtherListBoxName.Clear
    Set xRg = xRg(1)
    For I = 1 To xRows
        If xRg.Offset(I - 1).Value = xRegStr Then
            Me.Item.AddItem xRg.Offset(I - 1, 1).Value
            'Me.OtherListBoxName.AddItem xRg.Offset(I - 1, 2).Value
        End If
    Next
    xPreStr = xRegStr
    End If
    Application.ScreenUpdating = True
End Sub

notițe: În codul Băutură și articol sunt numele a două casete de listă, schimbați-le în propriile nume.

6. apasă pe Alt + Q tastele pentru a închide Microsoft Visual Basic pentru aplicații fereastră.

7. Dezactivați modul Design făcând clic pe Dezvoltator > Mod de proiectare.

De acum înainte, când selectați orice fel de băutură, cum ar fi Cafea în caseta listă părinte, toate articolele de cafea vor fi afișate în cea de-a doua. Selectați Ceai sau Vin va afișa numai articolele pentru ceai sau vin în a doua casetă de listă. Vedeți captura de ecran:


Legate de articole:


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (1)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hi

La ce se referă „Eu” în cod și cum se va schimba codul dacă am o casetă listă MultiSelect?

În ceea ce priveşte
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL