როგორ მოვახდინოთ ავტომატური კორექტირება Combo Box ან სია Excel-ში მონაცემთა დინამიური დიაპაზონის საფუძველზე

გააზიარე ახლა:

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

ვარაუდობენ, რომ მკითხველს აქვს დეველოპერის ლენტი ნაჩვენები და იცნობს VBA რედაქტორს. თუ არა, გთხოვთ Google „Excel Developer Tab“ ან „Excel Code Window“.

კომბინირებული ყუთების ჩვენების პროფესიონალური გზაა მათი დიაპაზონის გაფართოება ან შეკუმშვა საჭიროებისამებრ. Მაგალითად:კომბინირებული ყუთების ჩვენების პროფესიონალური გზა

დინამიური დიაპაზონის გასაღები არის შესაბამის სვეტში დასახლებული რიგების რაოდენობის მონიტორინგი ფუნქციის =countA გამოყენებით. ეს ფუნქცია ითვლის დასახლებულ ელემენტებს უჯრედების თანმიმდევრობით, სანამ არ მოხვდება ბოლოში; ზემოთ მოცემულ სურათზე პირველი დიაგრამის შემთხვევაში, ეს იქნება მე-11 მწკრივი.

დიაპაზონის ავტომატურად შესანარჩუნებლად საჭიროა განსაზღვრული სახელები, რათა თვალყური ადევნოთ დასახლებული მწკრივების რაოდენობას. მაგალითად, ჩვენ ვიყენებთ eCol (ბოლო სვეტი) და eRow (ბოლო მწკრივი) ჩვენი დიაპაზონის საზღვრების დასადგენად. რაც უფრო მეტ მწკრივს ვავსებთ, მით უფრო დიდი ხდება eRow-ის მნიშვნელობა.გამოიყენეთ eCol და eRow დიაპაზონის საზღვრების დასადგენად

ზემოთ განსაზღვრულმა სახელებმა დააყენეს სია ერთი სვეტის სიგანეზე (eCol = 1) eCol-ში დასახლებული მწკრივების რაოდენობის მიხედვით (eRow = 11)

საბოლოოდ, სათაურები გამოჩნდება დიაპაზონში "A2:A" & eRow. თქვენ შეამჩნევთ, რომ ინდექსის ფუნქცია გამოიყენება დიაპაზონში ბოლო უჯრედის დასადგენად, სახელწოდებით "სათაურები". ფაქტობრივად, დიაპაზონი "A2:A" & eRow ითარგმნება როგორც "A2:A11" ამ ეტაპზე.ინდექსის ფუნქცია

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

კოდექსი

გახსენით სამუშაო წიგნი და შეავსეთ იგი კომბინირებული ყუთით და გარკვეული მონაცემებით. ამ სავარჯიშოში გამოყენებული სამუშაო წიგნის ნიმუში შეგიძლიათ იხილოთ აქ დაწკაპუნებით.

გახსენით VBA კოდის ფანჯარა და ჩადეთ მოდული. დააკოპირეთ ქვემოთ მოცემული კოდი მოდულში.

ღონისძიება Auto_Open ადგენს ბოლო მწკრივის და ბოლო სვეტის მნიშვნელობებს დინამიური დიაპაზონისთვის „სათაურები“ და აღნიშნავს შემდგომ განხორციელებულ ცვლილებებს.

Sub auto_open()
     Dim eRow As Integer, eCol As Integer, i As Long
 
     On Error Resume Next
 
     'Clear the present define names, to avoid any duplications
     activeworkbook.Names("eCol").Delete
     activeworkbook.Names("eRow").Delete
     activeworkbook.Names("Titles").Delete
     Range("A1").Select
 
    'Titles will appear in the first column, A in this case
    eCol = 1
 
    'Find the last populated row
    eRow = Sheets("Main").Cells(Rows.Count, eCol).End(xlUp).Row
 
    'Define the names
     activeworkbook.Names.Add Name:="eCol", RefersTo:="=COUNTA($1:$1)"
     activeworkbook.Names.Add Name:="eRow", RefersToR1C1:="=COUNTA(C" & ColNo & ")"
     activeworkbook.Names.Add Name:="Titles", RefersTo:="=A2:INDEX($2:$200," & "eRow," & "eCol)"
End Sub

Sub DropDown1_Change()
     MsgBox "Directed by " & Cells(2, 5)
End Sub

შენიშვნა: ყველაფერი განთავსებულია ერთ გვერდზე ნახვის გასამარტივებლად. როგორც წესი A & B, და D & E სვეტების მნიშვნელობები სხვა, შესაძლოა დამალულ ფურცელზე იქნება. გთხოვთ, ასევე გაითვალისწინოთ, რომ მეორე სვეტი, B, არ გამოიყენება ამ კონკრეტულ სავარჯიშოში დიაპაზონის განმარტებებში; B სვეტის მნიშვნელობები მიიღება ჩვეული წესით კომბინირებული ყუთის უჯრედის კავშირის თვისების მეშვეობით (D2 ასახავს დიაპაზონში მესამე ელემენტის არჩევას, რომელიც starts A2-ზე, ინდექსის ფუნქციასთან ერთად "E3" დირექტორის საპოვნელად ( =INDEX(B:B,D2+1,1)).Combo Box თავდაპირველად დასახლებული იქნება Auto_open-ით

შეინახეთ სამუშაო წიგნი და შემდეგ ხელახლა გახსენით იგი. კომბინირებული ველი თავდაპირველად შეივსება Auto_open-ით. დაამატეთ ელემენტები A და B სვეტებს და დააკვირდით ცვლილებებს კომბინირებულ ველში.

დაზიანებული Excel ფაილების გადარჩენა

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

ავტორი შესავალი:

ფელიქს ჰუკერი არის მონაცემთა აღდგენის ექსპერტი DataNumen, Inc., რომელიც მსოფლიო ლიდერია მონაცემთა აღდგენის ტექნოლოგიებში, მათ შორის rar სარემონტო და sql აღდგენის პროგრამული პროდუქტები. დამატებითი ინფორმაციისთვის ეწვიეთ www.datanumen. ერთად

გააზიარე ახლა:

კომენტარები დახურულია.