Verilənlər bazasından endirilən məlumat birləşdirilmiş qutunun diapazonunu aşdıqda, yeni elementlər sadəcə göstərilmir. Buna qarşı çıxmaq üçün Siyahı və ya Combo qutularının əsasını təşkil edən diapazon məlumatlara uyğunlaşmaq üçün genişləndirilməli və ya daralmalıdır. Bu məqalə bunu avtomatik olaraq necə edəcəyini araşdırır.
Oxucunun Tərtibatçı lentinin nümayiş etdirildiyi və VBA Redaktoru ilə tanış olduğu güman edilir. Əgər belə deyilsə, lütfən Google “Excel Developer Tab” və ya “Excel Code Window”.
Kombo qutuları göstərməyin peşəkar yolu onların diapazonlarını lazım olduqda genişləndirmək və ya daraltmaqdır. Misal üçün:
Dinamik diapazonun açarı =countA funksiyasından istifadə edərək müvafiq sütunda doldurulmuş sətirlərin sayına nəzarət etməkdir. Bu funksiya sonuncuya çatana qədər xanalar ardıcıllığında məskunlaşmış elementləri hesablayır; yuxarıdakı şəkildəki ilk diaqram vəziyyətində, bu, 11-ci sıra olardı.
Bir sıra saxlamaq üçün avtomatik olaraq məskunlaşmış cərgələrin sayını izləmək üçün müəyyən edilmiş adlar tələb olunur. Məsələn, diapazonumuzun sərhədlərini müəyyən etmək üçün eCol (son sütun) və eRow (son sətir) istifadə edirik. Nə qədər çox sətir doldursaq, eRow-un dəyəri bir o qədər çox olar.
Yuxarıda müəyyən edilmiş adlar eCol-da doldurulmuş sətirlərin sayına (eRow = 1) görə siyahını bir sütun genişliyinə (eCol = 11) təyin etdi.
Nəhayət, Başlıqlar “A2:A” və eRow diapazonunda görünür. Qeyd edəcəksiniz ki, İndeks funksiyası “Başlıqlar” adlı diapazonda sonuncu xananı qurmaq üçün istifadə olunur. Effektiv şəkildə “A2:A” və eRow diapazonu bu mərhələdə “A2:A11” kimi tərcümə olunur.
İş kitabı görünməzdən əvvəl işləyən Auto_open alt prosedurundan istifadə edərək, iş kitabı açıldıqda dinamik diapazonu avtomatik qura bilərik.
Kod
İş kitabını açın və onu birləşdirilmiş qutu və bəzi məlumatlar ilə doldurun. Bu məşqdə istifadə olunan nümunə iş dəftərini tapa bilərsiniz burada.
VBA kodu pəncərəsini açın və modul daxil edin. Aşağıdakı kodu modula köçürün.
Auto_Open hadisəsi "Başlıqlar" dinamik diapazonu üçün son sətir və son sütun dəyərlərini təyin edir və sonradan edilən dəyişiklikləri qeyd edir.
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
Qeyd: Baxışı asanlaşdırmaq üçün hər şey tək bir səhifədə yerləşdirilib. Adətən A və B, D və E sütunlarındakı dəyərlər başqa, ehtimal ki, gizli olan bir vərəqdə olur. Həmçinin nəzərə alın ki, ikinci sütun, B, bu xüsusi çalışmada diapazonun təriflərində istifadə olunmur; B sütununun dəyərləri adi şəkildə kombo qutusunun xana bağlantısı xüsusiyyəti vasitəsilə əldə edilir (D2, A2-dən başlayan diapazondakı üçüncü elementin seçilməsini və direktoru tapmaq üçün "E3"-də İndeks funksiyası ilə birləşdirilməsini əks etdirir ( =INDEX(B:B,D2+1,1)).
İş kitabını yadda saxlayın və sonra yenidən açın. Qarışıq qutu əvvəlcə Auto_open ilə doldurulacaq. A və B sütunlarına elementlər əlavə edin və birləşmə qutusunda dəyişiklikləri müşahidə edin.
Zədələnmiş Excel fayllarını xilas edin
Zaman zaman Excel gözlənilmədən qəzaya uğradıqdan sonra Excel faylları korlana bilər. Əgər ehtiyat nüsxəniz varsa, o zaman ehtiyat nüsxənizlə məlumatları sadəcə bərpa edə bilərsiniz. Əks təqdirdə, bərpa etmək üçün peşəkar bir mütəxəssis və ya alət axtarmaq lazım ola bilər korlanmış Excel files.
Müəllif Giriş:
Feliks Hooker məlumatların bərpası üzrə mütəxəssisdir DataNumendaxil olmaqla məlumatların bərpası texnologiyaları üzrə dünya lideri olan , Inc rar təmiri və sql bərpa proqram məhsulları. Ətraflı məlumat üçün ziyarət edin www.datanumen.com


