Lisitra midina miaraka amin'ny safidy maro

Ny lisitra midina mahazatra ao amin'ny takelaka Excel dia tsara, saingy mamela anao hisafidy safidy iray avy amin'ny napetraka. Indraindray dia izany indrindra no tadiavinao, saingy misy toe-javatra izay ilain'ny mpampiasa afaka misafidy sasany singa avy amin'ny lisitra.

Andeha hojerentsika ny fampiharana mahazatra maromaro amin'ny lisitra voafantina marobe.

Safidy 1. Marindrano

Ny mpampiasa dia misafidy tsirairay avy amin'ny lisitra midina, ary miseho eo an-kavanan'ny sela izay ovaina, voatanisa ho azy mitsivalana:

Ny lisitra midina ao amin'ny sela C2: C5 amin'ity ohatra ity dia noforonina amin'ny fomba mahazatra, izany hoe

  1. safidio ny sela C2:C5
  2. tabilao na sakafo Data mifidy ekipa Fanamarinana data
  3. eo amin'ny varavarankely misokatra, mifidiana safidy List ary mamaritra ho isan-karazany Source sela misy angona loharano ho an'ny lisitra A1:A8

Avy eo dia mila manampy macro amin'ny maody takelaka ianao, izay hanao ny asa lehibe rehetra, izany hoe ampio ny soatoavina voafantina eo ankavanan'ny sela maitso. Mba hanaovana izany, tsindrio havanana amin'ny tabilao takelaka misy lisitra midina ary safidio ny baiko Source code. Apetaho ao amin'ny varavarankely fanontana Visual Basic izay misokatra ity kaody manaraka ity:

Private Sub Worksheet_Change(ByVal Target as Range) Amin'ny Error Resume Manaraka Raha tsy mifanelanelana(Target, Range("C2:C5") dia tsy misy ary Target.Cells.Count = 1 Avy eo Application.EnableEvents = Diso Raha Len(Target.Offset (0, 1)) = 0 avy eo Target.Offset(0, 1) = Target hafa Target.End(xlToRight).Offset(0, 1) = Target End Raha Target.ClearContents Application.EnableEvents = True End Raha End Sub  

Raha ilaina, soloy ny andalana saro-pady amin'ny lisitra midina C2:C5 amin'ny andalana faharoa amin'ity kaody ity amin'ny anao.

Safidy 2. Mitsangana

Mitovy amin'ny dikan-teny teo aloha, fa ny soatoavina voafantina vaovao dia tsy ampiana eo ankavanana, fa any ambany:

Toy izany koa no atao, fa ny kaody macro mpitantana dia miova kely:

Private Sub Worksheet_Change(ByVal Target as Range) Amin'ny Error Resume Manaraka Raha tsy mifanelanelana(Target, Range("C2:F2")) dia tsy misy ary Target.Cells.Count = 1 Avy eo Application.EnableEvents = Diso Raha Len(Target.Offset (1, 0)) = 0 avy eo Target.Offset(1, 0) = Target hafa Target.End(xlDown).Offset(1, 0) = Target End Raha Target.ClearContents Application.EnableEvents = True End Raha End Sub  

Avereno indray, raha ilaina, soloy amin'ny andalana faharoa amin'ity kaody ity ny andalana saro-pady amin'ny lisitra midina C2:F2.

Safidy 3. Miaraka amin'ny fanangonana ao amin'ny sela iray ihany

Amin'ity safidy ity, ny fanangonana dia mitranga ao amin'ny sela izay misy ny lisitra midina. Ny singa voafantina dia sarahan'ny toetra nomena (ohatra, faingo):

Ny lisitry ny drop-down amin'ny sela maitso dia noforonina amin'ny fomba mahazatra tanteraka, toy ny tamin'ny fomba teo aloha. Ny asa rehetra dia vita indray, amin'ny alàlan'ny macro ao amin'ny module sheet:

Private Sub Worksheet_Change(ByVal Target as Range) Amin'ny Error Resume Manaraka Raha tsy mifanelanelana(Target, Range("C2:C5") dia tsy misy ary Target.Cells.Count = 1 Avy eo Application.EnableEvents = False newVal = Target Application.Undo oldval = Target Raha Len(oldval) <> 0 Ary oldval <> newVal Avy eo Target = Target & "," & newVal Else Target = newVal End Raha Len(newVal) = 0 dia Target.ClearContents Application.EnableEvents = True End Raha End Sub  

Raha tianao dia azonao atao ny manolo ny toetran'ny separator (faingo) ao amin'ny andalana faha-9 amin'ny kaody amin'ny anao manokana (ohatra, habaka na semicolon).

  • Ahoana ny fomba hamoronana lisitra midina tsotra amin'ny cellule excel
  • Lisitra midina misy votoaty
  • Lisitra midina misy safidy tsy hita nampiana
  • Inona ny macros, ny fomba fampiasana azy, ny toerana hampidirana code macro ao amin'ny Visual Basic

Leave a Reply