როგორ დავახარისხოთ დიაპაზონი VBA-ს გამოყენებით Excel-ში (6 მაგალითი)

  • გააზიარეთ ეს
Hugh West

Სარჩევი

ვიცოდეთ, როგორ დაალაგოთ დიაპაზონი VBA-ს გამოყენებით Excel-ში, არის დროისა და ძალისხმევის დაზოგვა ჩვენს ყოველდღიურ გამოთვლებში. მიუხედავად იმისა, რომ Excel ნაგულისხმევად უზრუნველყოფს დახარისხების საშუალებას. Range.Sort მეთოდის გამოყენებით, ჩვენ მივიღებთ წვდომას რამდენიმე პარამეტრზე, რათა დავახარისხოთ მონაცემთა ბაზა ჩვეულებრივზე მეტი ვარიანტით.

ჩამოტვირთეთ პრაქტიკის სამუშაო წიგნი

ჩამოტვირთეთ ეს სავარჯიშო წიგნაკი, რომ ივარჯიშოთ ამ სტატიის კითხვის დროს.

დახარისხების დიაპაზონი Excel.xlsm-ში

Range.Sort განაცხადის შესავალი Excel VBA-ში

მიზანი: უჯრედის მონაცემების დიაპაზონის დახარისხება.

სინტაქსი:

გამოთქმა . სორტირება ( Key1 , Order1 , Key2 , ტიპი , Order2 , Key3 , Order3 , Header , OrderCustom , MatchCase , Orientation , SortMethod , DataOption1 , DataOption2 , DataOption3 )

აქ, გამოთქმა წარმოადგენს Range ობიექტს, ანუ უჯრედს, რიგს, სვეტს ან უჯრედების არჩევანს.

არგუმენტები:

ჩვენ უნდა მივაწოდოთ სამი მთავარი პარამეტრი Range.Sort მეთოდისთვის. ისინი არიან-

Key – უჯრედების დიაპაზონი ერთი ან რამდენიმე სვეტიდან, რომელიც უნდა დავახარისხოთ.

Order – მიუთითეთ დახარისხების თანმიმდევრობა ან აღმავალი ან დაღმავალი.

Header – განაცხადეთ, აქვთ თუ არა დასალაგებულ სვეტებს სათაური თუ არა.

6 დიაპაზონის დახარისხების მაგალითები Excel VBA-ში

შიეს სტატია, როგორც მონაცემთა ნაკრები, გამოვიყენებთ ადამიანთა სახელების ჩამონათვალს მათი დაბადების თარიღით და ასაკის მიხედვით. ჩვენ გამოვიყენებთ სხვადასხვა მეთოდს მონაცემთა ნაკრების დასალაგებლად. მოდით გავიაროთ სტატია და ვივარჯიშოთ ამ მეთოდების დასაუფლებლად.

1. ერთი სვეტის დიაპაზონის დალაგება Excel VBA-ს გამოყენებით

ამ მაგალითში დავახარისხებთ ადამიანებს უხუცესი უმცროსი . მოდით მივყვეთ ნაბიჯებს დიაპაზონის გამოსაყენებლად. სორტირების მეთოდის რომელიც დაახარისხებს ასაკის სვეტს <1-ში>კლებადობა .

ნაბიჯები:

  • გადადით დეველოპერების ჩანართზე Excel Ribbon-ში რომ დააწკაპუნოთ Visual Basic-ზე

  • შემდეგ აირჩიეთ მოდულის ვარიანტი ჩასმა ჩანართიდან ახალი მოდულის გასახსნელად .

ახლა ჩვენ განვათავსებთ ჩვენს კოდს დაალაგეთ ასაკი სვეტის დიაპაზონი.

1.1 სვეტი სათაურით

დაათავსეთ შემდეგი კოდი ვიზუალური კოდის რედაქტორში.

4184

დააჭირეთ F5 ან დააწკაპუნეთ Run ღილაკზე შეასრულეთ კოდი.

ახსნა:

ზემოთ კოდში ვდებთ-

Expression (Range object)=Range(“D4:D11”); ასაკის სვეტი სათაურით უჯრედში D4 და მნიშვნელობები D5:D11-ში.

Key = Range (“D4”); გასაღები დახარისხებისთვის.

Order= xlDescending; როგორც გვსურს მნიშვნელობები უმსხვილესიდან დაბალამდე დავალაგოთ ჩვენ ვაყენებთ დახარისხების თანმიმდევრობას როგორც დაღმავალი.

Header =xlYes; შემდეგ ეკრანის სურათზე, ჩვენ ვხედავთ, რომ მონაცემთა ნაკრები აქვს სათაური თითოეული სვეტისთვის.

1.2 სვეტი სათაურის გარეშე

ჩადეთ შემდეგი კოდი ვიზუალური კოდის რედაქტორში.

3110

დააჭირეთ F5 ან დააწკაპუნეთ Run ღილაკზე შეასრულეთ კოდი.

ახსნა:

ზემოხსენებულ კოდში ვდებთ-

გამოხატვას (Range object)=Range(“D4 :D10"); ასაკის სვეტს სათაურის აქვს მნიშვნელობები D4:D10-ში.

გასაღები = დიაპაზონი (“D4”); გასაღები დახარისხებისთვის.

Order= xlDescending; როგორც გვსურს მნიშვნელობების დალაგება ყველაზე დიდი ყველაზე დაბალ ჩვენ ვაყენებთ დახარისხების წესრიგს როგორც კლებადობით.

Header =xlNo; შემდეგ ეკრანის სურათზე ვხედავთ, რომ მონაცემთა ნაკრები არ აქვს header.

დაკავშირებული კონტენტი: როგორ დავახარისხოთ სვეტები Excel-ში მონაცემთა შერევის გარეშე (3 გზა)

2. VBA კოდის გამოყენება Excel-ში მრავალი სვეტის დიაპაზონის დასალაგებლად

დახარისხების ჩვენება მრავალ სვეტში , ჩვენ უნდა შეცვალოთ ჩვენი მონაცემთა ნაკრები ცოტა. ჩვენ ჩავსვით რამდენიმე ახალი სტრიქონი . შეცვლილ მონაცემთა ბაზაში 7, 8, და 9 რიგებს აქვთ იგივე მნიშვნელობები დაბადების თარიღისთვის და ასაკი მაგრამ სამი განსხვავებული სახელი . ეს სახელები არ არის არავითარი კონკრეტული თანმიმდევრობით აღმავალი ან დაღმავალი.

ამ მაგალითში, ჩვენ დავალაგებთ სახელებს აღმავალი თანმიმდევრობით . მოდით გავუშვათ შემდეგი კოდი ვიზუალურ საბაზისო რედაქტორში:

4816

ახსნა:

ზემოთ სკრინშოტი, ჩვენ ვხედავთ, რომ სვეტა D ასაკები დალაგებულია კლებად მიმდევრობით. ჩვენ დავამატეთ ორი პარამეტრი ჩვენს წინა კოდში.

Key2: =Range(“B4”) , სახელების დახარისხების გასაღები.

მიმდევრობა2: =xlაღმავალი , შეკვეთა სახელების შემოკლებისთვის .

შედეგად, ჩვენ ვხედავთ სახელებს ში 7, 8 და 9 რიგები ახლა ანბანურად დალაგებულია აღმავალი თანმიმდევრობით.

შემდეგ ეკრანის სურათზე ჩვენ შევცვალეთ Order2 პარამეტრის მნიშვნელობა დახარისხება სახელები კლებად თანმიმდევრობით.

დაწვრილებით: როგორ დაალაგოთ მრავალი სვეტი Excel-ში (5 სწრაფი მიდგომა)

3. Excel VBA-ში სვეტების დიაპაზონის დასალაგებლად სათაურზე ორჯერ დააწკაპუნეთ

Excel-ის ნაგულისხმევი დახარისხების ფუნქცია არ იძლევა სვეტის მნიშვნელობების <1 დახარისხების საშუალებას>ორჯერ დააწკაპუნეთ სვეტის სათაურზე . მაგრამ VBA კოდის გამოყენებით ჩვენ შეგვიძლია ეს მოხდეს. მოდით ვაჩვენოთ ეს ფუნქცია შემდეგი კოდის გამოყენებით.

2495

ამ კოდში, ჩვენ გამოვიყენეთ BeforeDoubleClick მოვლენა ჩვეულებრივი ორმაგი დაწკაპუნების გამორთვა რომელიც უნდა დაიწყოს უჯრედის რედაქტირების რეჟიმს. ამ მოვლენითგაშვებული, თუ ორმაგად დააწკაპუნებთ რომელიმე სვეტის სათაურზე ის დაალაგებს სვეტის მონაცემებს აღმავალი თანმიმდევრობით .

დაწვრილებით: VBA Excel-ში სვეტების დასალაგებლად (4 მეთოდი)

მსგავსი წაკითხვები:

  • როგორ დავამატოთ დალაგების ღილაკი Excel-ში (7 მეთოდი)
  • დაალაგოთ უნიკალური სია Excel-ში (10 სასარგებლო მეთოდი)
  • როგორ Excel VBA-ში სორტირების ფუნქციის გამოსაყენებლად (8 შესაფერისი მაგალითი)
  • დუბლიკატების დალაგება Excel-ში (სვეტები და რიგები)
  • შემთხვევითი სორტირება Excel-ში ( ფორმულები + VBA)

4. სვეტების დიაპაზონის დახარისხება ფონის ფერის მიხედვით Excel VBA-ს გამოყენებით

ჩვენ შეგვიძლია დავახარისხოთ უჯრედების დიაპაზონი სვეტში დაფუძნებული მათი ფონის ფერზე . ამისათვის ჩვენ უნდა დავამატოთ პარამეტრი სახელად SortOn რომელსაც აქვს მნიშვნელობა xlSortOnCellColor . დახარისხების დემონსტრირებისთვის, ჩვენ ჯერ დავაყენეთ სხვადასხვა ფონის ფერები ჩვენი მონაცემთა ნაკრების რიგებში .

შემდეგ ვიზუალურ საბაზისოში. კოდის რედაქტორი დააკოპირეთ შემდეგი კოდი და დააჭირეთ F5 მის გასაშვებად.

5186

შემდეგ ეკრანის სურათზე ჩვენ ვხედავთ დახარისხებული მონაცემთა ბაზა დაფუძნებული მათი ფონის ფერზე.

ახსნა:

  • ამ მაგალითში ჩვენ დავასახელეთ სამუშაო ფურცელი ფონი “. ასე რომ, კოდში ჩვენ ვაყენებთ „ ფონი “, როგორც აქტიური სამუშაო ფურცლის სახელი.
  • ჩვენ დავაყენეთ B4 როგორც გასაღები და B4:D10 როგორც დიაპაზონი . კოდი დაალაგებს მონაცემებს გასაღების მიხედვით.
  • რადგან ჩვენ არ დავაკონკრეტეთ სათაურის პარამეტრი , კოდი მუშაობს ნაგულისხმევად სათაურის გარეშე.
  • ჩვენ დავაყენეთ order პარამეტრი, როგორც აღმავალი, ასე რომ, მან დაალაგა მონაცემები ქვედადან უფრო მაღალ მნიშვნელობებზე .

<. 1>დაწვრილებით: როგორ დაალაგოთ ფერების მიხედვით Excel-ში (4 კრიტერიუმი)

5. VBA კოდის გამოყენება სვეტების დიაპაზონის დასალაგებლად შრიფტის ფერის მიხედვით

VBA კოდის გამოყენებით, ჩვენ შეგვიძლია დავახარისხოთ ჩვენი მონაცემთა ბაზა მათი შრიფტის ფერის მიხედვით . პირველ რიგში, ჩვენ უნდა გავაფერადოთ სხვადასხვა რიგები მაგალითის საილუსტრაციოდ.

გამოიყენეთ ქვემოთ მოცემული კოდი შრიფტის ფერის მიხედვით მონაცემთა ნაკრების დასალაგებლად.

4095

ახსნა:

  • აქ მაგალითად, ჩვენ დავარქვით სამუშაო ფურცელს fontcolor ”. ასე რომ, კოდში ჩვენ ვათავსებთ „ fontcolor “, როგორც აქტიურ სამუშაო ფურცლის სახელს.
  • ჩვენ დავაყენეთ B4 როგორც გასაღები. და B4:D11 როგორც დიაპაზონი . კოდი დაალაგებს მონაცემებს გასაღების საფუძველზე.
  • ამ მაგალითში ჩვენ ასევე დავაზუსტეთ სათაურის პარამეტრი როგორც xlYes .
  • აქ ჩვენ დავაყენეთ მიმდევრობა. პარამეტრი, როგორც აღმავალი, ამიტომ დაალაგა მონაცემები ქვედადან უფრო მაღალ მნიშვნელობებზე .
  • SortOn პარამეტრის მნიშვნელობა არის
  • ორიენტაციის პარამეტრი ინახავს მნიშვნელობას xlTopToBottom რადგან ეს სავალდებულოა.
  • ფერი დახარისხება არის RGB ტერმინებში, რომელიც აქვს ღირებულება 0 -დან 255 -მდე.

დაწვრილებით: როგორ დაალაგოთ ორი სვეტი Excel-ში შესატყვისად (ორივე ზუსტი და ნაწილობრივი დამთხვევა)

6. ორიენტაციის შეცვლა სორტირების დიაპაზონში Excel VBA-ის გამოყენებით

ორიენტაციის პარამეტრის გამოყენებით, ჩვენ შეგვიძლია შევცვალოთ მონაცემების დახარისხების გზა. ამ მაგალითში, ჩვენ გადაიტანეთ ჩვენი მონაცემთა ბაზა დახარისხება ის ჰორიზონტალურად .

მოდით, დავაყენოთ მიჰყევით კოდს ვიზუალურ საბაზისო რედაქტორში და დააჭირეთ F5 მის გასაშვებად.

7867

აქ დავახარისხეთ მონაცემები ასაკის მწკრივზე აღმავალი მიმდევრობით მარცხნიდან მარჯვნივ . კოდში, ჩვენ დავაყენეთ ორიენტაციის პარამეტრი, როგორც xlSortRows .

დაკავშირებული კონტენტი: როგორ დავახარისხოთ მრავალი სვეტის ავტომატური დახარისხება Excel-ში (3 გზა)

რაც უნდა გვახსოვდეს

  • SortOn პარამეტრი , რომელსაც ვიყენებდით დახარისხება სვეტის დიაპაზონი, რომელიც დაფუძნებულია ფონის ფერზე და ფონტის ფერზე შეიძლება გამოყენებულ იქნას მხოლოდ სამუშაო ფურცლის ობიექტის მიერ . ჩვენ არ შეგვიძლია მისი გამოყენება დიაპაზონის ობიექტთან .
  • BeforeDoubleClick მოვლენა ახარისხებს მონაცემებს მხოლოდ აღმავალში.

დასკვნა

ახლა ჩვენ ვიცით როგორ დავახარისხოთ დიაპაზონი VBA-ს გამოყენებით Excel-ში. იმედია, ეს მოგცემთ საშუალებას გამოიყენოთ ეს უფრო თავდაჯერებულად. ნებისმიერი შეკითხვა ან შემოთავაზება არ დაგავიწყდეთ მათი განთავსება კომენტარების ველში ქვემოთ.

ჰიუ ვესტი არის Excel-ის ძალიან გამოცდილი ტრენერი და ანალიტიკოსი, რომელსაც აქვს 10 წელზე მეტი გამოცდილება ინდუსტრიაში. მას აქვს ბაკალავრის ხარისხი ბუღალტერიასა და ფინანსებში და მაგისტრის ხარისხი ბიზნესის ადმინისტრირებაში. ჰიუს აქვს სწავლების გატაცება და შეიმუშავა სწავლების უნიკალური მიდგომა, რომელიც ადვილად გასაგები და გასაგებია. მისი ექსპერტი Excel-ის ცოდნა დაეხმარა ათასობით სტუდენტს და პროფესიონალს მთელს მსოფლიოში, გაეუმჯობესებინათ თავიანთი უნარები და გამოირჩეოდნენ თავიანთ კარიერაში. თავისი ბლოგის საშუალებით, ჰიუ უზიარებს თავის ცოდნას მსოფლიოს, სთავაზობს უფასო Excel გაკვეთილებს და ონლაინ ტრენინგებს, რათა დაეხმაროს ინდივიდებსა და ბიზნესს თავიანთი პოტენციალის სრულად მიღწევაში.