ተቆልቋይ ዝርዝር ከብዙ ምርጫ ጋር

በኤክሴል ሉህ ውስጥ ያለው ክላሲክ ተቆልቋይ ዝርዝር በጣም ጥሩ ነው፣ ግን ከቀረበው ስብስብ ውስጥ አንድ አማራጭ ብቻ እንድትመርጥ ይፈቅድልሃል። አንዳንድ ጊዜ ይህ በትክክል እርስዎ የሚፈልጉት ነው, ነገር ግን ተጠቃሚው መምረጥ እንዲችል የሚፈልግባቸው ሁኔታዎች አሉ አንዳንድ ከዝርዝሩ ውስጥ ንጥረ ነገሮች.

እንደዚህ ባለ ብዙ ምርጫ ዝርዝር ውስጥ በርካታ የተለመዱ አተገባበርን እንመልከት።

አማራጭ 1. አግድም

ተጠቃሚው ከተቆልቋይ ዝርዝሩ ውስጥ ንጥሎችን አንድ በአንድ ይመርጣል፣ እና እነሱ ሲቀየሩ በሴል በስተቀኝ ይታያሉ፣ በራስ-ሰር በአግድም ይዘረዘራሉ፡

በሴሎች C2:C5 ውስጥ ተቆልቋይ ዝርዝሮች በዚህ ምሳሌ የተፈጠሩት በመደበኛ መንገድ ነው፣ ማለትም

  1. ሴሎችን ይምረጡ C2:C5
  2. ትር ወይም ምናሌ መረጃ ቡድን ይምረጡ የውሂብ ማረጋገጫ
  3. በሚከፈተው መስኮት ውስጥ አንድ አማራጭ ይምረጡ ዝርዝር እና እንደ ክልል ይግለጹ ምንጭ ለዝርዝር A1፡A8 የምንጭ መረጃ ያላቸው ሴሎች

ከዚያም ወደ ሉህ ሞጁል አንድ ማክሮ ማከል ያስፈልግዎታል, ይህም ሁሉንም ዋና ስራ ይሰራል, ማለትም የተመረጡ እሴቶችን ከአረንጓዴ ሴሎች በስተቀኝ ያክሉት. ይህንን ለማድረግ በተቆልቋይ ዝርዝሮች በሉህ ትር ላይ በቀኝ ጠቅ ያድርጉ እና ትዕዛዙን ይምረጡ ምንጭ ኮድ. በሚከፈተው የ Visual Basic አርታኢ መስኮት ውስጥ የሚከተለውን ኮድ ይለጥፉ፡-

የግል ንዑስ ሉህ_ለውጥ(ByVal ዒላማ እንደ ክልል) በስህተት ወደሚቀጥለው መቀጠል ካልቻሉ (ዒላማ፣ ክልል("C2፡C5")) ምንም አይደለም እና ኢላማ።ሴሎች ቁጥር = 1 ከዚያም አፕሊኬሽኑ።EnableEvents = ውሸት ከሆነ ሌንስ(ዒላማ.ኦፍሴት) (0, 1)) = 0 ከዚያም Target.Offset(0, 1) = ዒላማ ሌላ ዒላማ. መጨረሻ (xlToRight).Offset(0, 1) = ዒላማ መጨረሻ ከሆነ.ClearContents መተግበሪያ አጽዳ.EnableEvents = እውነተኛ መጨረሻ ከሆነ ንዑስ ንዑስ.  

አስፈላጊ ከሆነ በዚህ ኮድ ሁለተኛ መስመር ላይ ያለውን ተቆልቋይ ዝርዝሮች C2:C5 ሚስጥራዊነት ያለው ክልል በራስዎ ይተኩ።

አማራጭ 2. አቀባዊ

ልክ እንደ ቀዳሚው ስሪት ፣ ግን አዲስ የተመረጡት እሴቶች ወደ ቀኝ አልተጨመሩም ፣ ግን ወደ ታች።

በትክክል በተመሳሳይ መንገድ ይከናወናል ፣ ግን ተቆጣጣሪው ማክሮ ኮድ በትንሹ ይቀየራል-

የግል ንዑስ ሉህ_ለውጥ(ByVal ዒላማ እንደ ክልል) በስህተት ወደሚቀጥለው መቀጠል ካልቻሉ (ዒላማ፣ ክልል("C2፡F2")) ምንም አይደለም እና ኢላማ።ሴሎች ቁጥር = 1 ከዚያም አፕሊኬሽኑ።EnableEvents = የውሸት ከሆነ ሌንስ(ዒላማ.ኦፍሴት) (1, 0)) = 0 ከዚያም ዒላማ.Offset(1, 0) = ዒላማ ሌላ ዒላማ. መጨረሻ (xlDown).Offset(1, 0) = ዒላማ መጨረሻ ከሆነ.ClearContents መተግበሪያ አጽዳ.EnableEvents = እውነተኛ መጨረሻ ከሆነ መጨረሻ ንዑስ ንዑስ.  

በድጋሚ፣ አስፈላጊ ከሆነ፣ በዚህ ኮድ ሁለተኛ መስመር ላይ ያለውን የC2፡F2 ተቆልቋይ ዝርዝሮችን ሚስጥራዊነት ያለው ክልል ይተኩ።

አማራጭ 3. በተመሳሳይ ሕዋስ ውስጥ ከመከማቸት ጋር

በዚህ አማራጭ ውስጥ ክምችቱ ተቆልቋይ ዝርዝሩ በሚገኝበት ተመሳሳይ ሕዋስ ውስጥ ይከሰታል. የተመረጡት ንጥረ ነገሮች በማንኛውም ቁምፊ ተለያይተዋል (ለምሳሌ ፣ ነጠላ ሰረዝ)

በአረንጓዴ ሴሎች ውስጥ ተቆልቋይ ዝርዝሮች ልክ እንደ ቀድሞዎቹ ዘዴዎች ሙሉ በሙሉ መደበኛ በሆነ መንገድ ይፈጠራሉ። ሁሉም ስራው በድጋሚ በሉህ ሞዱል ውስጥ በማክሮ ተከናውኗል፡

የግል ንዑስ ሉህ_ለውጥ(ByVal ዒላማ እንደ ክልል) በስህተት ወደሚቀጥለው መቀጠል ካልቻሉ (ዒላማ፣ ክልል("C2፡C5")) ምንም አይደለም እና ኢላማ።ሴሎች ቁጥር = 1 ከዚያ መተግበሪያ።EnableEvents = False newVal = ዒላማ ማመልከቻን ይቀልብሱ። oldval = ኢላማ ከ Len(oldval) <> 0 እና አሮጌውቫል <> newVal then Target = Target & "," & newVal Else Target = newVal End If Len(newVal) = 0 then Target.ClearContents Application.EnableEvents = True End If Len መጨረሻ ንዑስ  

ከተፈለገ በ 9 ኛው የኮድ መስመር ውስጥ ያለውን መለያ ባህሪ (ነጠላ ሰረዝ) በራስዎ (ለምሳሌ ቦታ ወይም ሴሚኮሎን) መተካት ይችላሉ።

  • በ Excel ሉህ ሕዋስ ውስጥ ቀላል ተቆልቋይ ዝርዝር እንዴት መፍጠር እንደሚቻል
  • ተቆልቋይ ዝርዝር ከይዘት ጋር
  • የተቆልቋይ ዝርዝር ከጠፉ አማራጮች ጋር
  • ማክሮዎች ምንድን ናቸው ፣ እንዴት እንደሚጠቀሙባቸው ፣ በ Visual Basic ውስጥ ማክሮ ኮድ የት እንደሚያስገባ

መልስ ይስጡ