דראָפּדאָוון רשימה מיט מולטי-סעלעקטירן

דער קלאַסיש פאַל-אַראָפּ רשימה אין אַן עקססעל בלאַט איז גרויס, אָבער עס נאָר אַלאַוז איר צו אויסקלייַבן איין אָפּציע פון ​​די דערלאנגט גאַנג. מאל דאָס איז פּונקט וואָס איר ווילט, אָבער עס זענען סיטואַטיאָנס ווו דער באַניצער דאַרף קענען צו קלייַבן עטלעכע עלעמענטן פון דער רשימה.

זאל ס קוק אין עטלעכע טיפּיש ימפּלאַמאַנץ פון אַזאַ אַ מאַלטי-סעלעקטירן רשימה.

אָפּציע 1. האָריזאָנטאַל

דער באַניצער סאַלעקץ זאכן פון די פאַל-אַראָפּ רשימה איינער דורך איינער, און זיי דערשייַנען צו די רעכט פון דער צעל וואָס איז טשיינדזשד, אויטאָמאַטיש ליסטעד כאָריזאַנטאַלי:

דראָפּ-אַראָפּ רשימות אין סעלז C2: C5 אין דעם בייַשפּיל זענען באשאפן אין אַ נאָרמאַל וועג, י.ע

  1. אויסקלייַבן סעלז C2: C5
  2. קוויטל אָדער מעניו דאַטע קלייַבן אַ קאָלעקטיוו דאַטע וואַלאַדיישאַן
  3. אין די פֿענצטער וואָס אָפּענס, סעלעקטירן אַן אָפּציע רעשימע און ספּעציפיצירן ווי אַ קייט מאָקער סעלז מיט מקור דאַטן פֿאַר רשימה A1: A8

דערנאָך איר דאַרפֿן צו לייגן אַ מאַקראָו צו די בלאַט מאָדולע, וואָס וועט טאָן אַלע די הויפּט אַרבעט, ד"ה לייגן אויסגעקליבן וואַלועס צו די רעכט פון די גרין סעלז. צו טאָן דאָס, רעכט גיט אויף די בלאַט קוויטל מיט פאַל-אַראָפּ רשימות און סעלעקטירן דעם באַפֿעל מקור קאָד. פּאַפּ די פאלגענדע קאָד אין די וויסואַל באַסיק רעדאַקטאָר פֿענצטער וואָס אָפּענס:

פּריוואַט סאַב וואָרקשעעט_טשאַנגע (בייוואַל ציל ווי ראַנגע) אויף טעות נעמענ זיכ ווידער אויב ניט ינטערסעקט (ציל, ראַנגע ("C2: C5")) איז גאָרנישט און Target.Cells.Count = 1 דעמאָלט Application.EnableEvents = False If Len(Target.Offset) (0, 1)) = 0 דעמאָלט טאַרגעט.אָפסעט (0, 1) = ציל אַנדערש טאַרגעט.ענד(קסלטאָריגהט).אָפסעט (0, 1) = ציל סוף אויב טאַרגעט.קלאַרקאָנטענץ אַפּפּליקאַטיאָן.ענאַבלעעווענטס = אמת סוף אויב סוף סוב.  

אויב נייטיק, פאַרבייַטן די שפּירעוודיק קייט פון די קאַפּ-אַראָפּ רשימות C2: C5 אין די רגע שורה פון דעם קאָד מיט דיין אייגענע.

אָפּציע 2. ווערטיקאַל

די זעלבע ווי אין די פריערדיקע ווערסיע, אָבער די נייַע אויסגעקליבן וואַלועס זענען נישט צוגעגעבן צו די רעכט, אָבער צו די דנאָ:

עס איז געטאן אין פּונקט די זעלבע וועג, אָבער די האַנדלער מאַקראָו קאָד ענדערונגען אַ ביסל:

פּריוואַט סאַב וואָרקשעעט_טשאַנגע(ביוואַל ציל ווי קייט) אויף טעות נעמענ זיכ ווידער אויב ניט ינטערסעקט(ציל, ראַנגע("ק2:פ2")) איז גאָרנישט און טאַרגעט.סעללס.קאָונט = 1 דעמאָלט אַפּפּליקאַטיאָן.ענאַבלע עווענטס = פאַלש אויב לן(טאַרגעט.אָפסעט). (1, 0)) = 0 דעמאָלט טאַרגעט.אָפסעט (1, 0) = ציל אַנדערש טאַרגעט.ענד(קסלדאָוון).אָפסעט (1, 0) = ציל סוף אויב טאַרגעט.קלאַרקאָנטענץ אַפּפּליקאַטיאָן.ענאַבלעעווענטס = אמת סוף אויב סוף סוב.  

ווידער, אויב נייטיק, פאַרבייַטן די שפּירעוודיק קייט פון די C2: F2 קאַפּ-אַראָפּ רשימות מיט דיין אייגענע אין די רגע שורה פון דעם קאָד.

אָפּציע 3. מיט אַקיומיאַליישאַן אין דער זעלביקער צעל

אין דעם אָפּציע, די אַקיומיאַליישאַן אַקערז אין דער זעלביקער צעל ווו די פאַל-אַראָפּ רשימה איז ליגן. די אויסגעקליבן עלעמענטן זענען אפגעשיידט דורך קיין געגעבן כאַראַקטער (למשל, אַ קאָמע):

דראָפּ-אַראָפּ רשימות אין גרין סעלז זענען באשאפן אין אַ גאָר נאָרמאַל וועג, ווי אין די פריערדיקע מעטהאָדס. אַלע די אַרבעט איז געטאן, ווידער, דורך אַ מאַקראָו אין די בלאַט מאָדולע:

פּריוואַט סאַב וואָרקשעעט_טשאַנגע (בייוואַל ציל ווי ראַנגע) אויף טעות נעמענ זיכ ווידער אויב ניט ינטערסעקט (ציל, ראַנגע ("C2: C5")) איז גאָרנישט און טאַרגעט.סעללס.קאָונט = 1 דעמאָלט Application.EnableEvents = False newVal = Target Application.Undo oldval = ציל אויב לן (אָלדוואַל) <> 0 און אַלטוואַל <> newVal דעמאָלט ציל = ציל & "," & newVal אַנדערש ציל = נייַוואַל סוף אויב אויב לן (נעוווואַל) = 0 דעמאָלט Target.ClearContents Application.EnableEvents = אמת סוף אויב סוף סוב  

אויב איר ווילט, איר קענען פאַרבייַטן די סעפּאַראַטאָר כאַראַקטער (קאָממאַ) אין די 9 שורה פון קאָד מיט דיין אייגענע (למשל, אַ פּלאַץ אָדער אַ האַלב-קאָלאָן).

  • ווי צו שאַפֿן אַ פּשוט פאַל-אַראָפּ רשימה אין אַן עקססעל בלאַט צעל
  • דראָפּדאָוון רשימה מיט אינהאַלט
  • דראָפּדאָוון רשימה מיט פעלנדיק אָפּציעס צוגעגעבן
  • וואָס זענען מאַקראָס, ווי צו נוצן זיי, ווו צו אַרייַנלייגן מאַקראָו קאָד אין וויסואַל באַסיק

לאָזן אַ ענטפֿערן