Koordinat seçimi

Böyük bir monitorunuz var, amma işlədiyiniz masalar daha böyükdür. Lazımi məlumatları axtarmaq üçün ekrana baxaraq, gözlərinizi növbəti sətirə "sürüşdürmək" və yanlış istiqamətə baxmaq şansı həmişə var. Mən hətta elə adamlar tanıyıram ki, belə hallar üçün monitordakı xəttə yapışdırmaq üçün həmişə taxta hökmdarı yanında saxlayırlar. Gələcəyin texnologiyaları! 

Və aktiv xana vərəq boyunca hərəkət edərkən cari sətir və sütun vurğulanırsa? Bu kimi bir növ koordinat seçimi:

Hökmdardan yaxşıdır, elə deyilmi?

Bunu həyata keçirmək üçün müxtəlif mürəkkəbliyin bir neçə yolu var. Hər bir metodun müsbət və mənfi tərəfləri var. Gəlin onlara ətraflı nəzər salaq.

Metod 1. Aydındır. Cari sətir və sütunu vurğulayan makro

Problemimizi "alında" həll etməyin ən açıq yolu - vərəqdəki seçimdəki dəyişikliyi izləyəcək və cari hüceyrə üçün bütün sətir və sütunu seçəcək bir makro lazımdır. Zəruri hallarda bu funksiyanı aktivləşdirə və söndürə bilmək də arzu edilir ki, belə çarpaz formalı seçim bizə, məsələn, düsturlara daxil olmağımıza mane olmasın, ancaq lazımi axtarışda siyahıya baxdığımız zaman işləyir. məlumat. Bu, bizi vərəq moduluna əlavə edilməli olan üç makroya (seçin, aktivləşdirin və söndürün) gətirir.

Belə bir koordinat seçimini əldə etmək istədiyiniz bir cədvəl ilə bir vərəq açın. Vərəq sekmesini sağ vurun və kontekst menyusundan əmri seçin Mənbə mətni (Mənbə kodu).Visual Basic Editor pəncərəsi açılmalıdır. Bu üç makronun bu mətnini ona kopyalayın:

Dim Coord_Selection Boolean kimi 'Seçim üçün qlobal dəyişən on/off Sub Selection_On() 'Seçimdə makro Coord_Selection = True End Sub Selection_Off() 'Makro off seçim Coord_Selection = False End Sub 'Seçimi həyata keçirən əsas prosedur Private Sub WorksheetC TarhangeV As (SeleV As) Diapazon) Hədəf.Cells.Count > 1 olduqda İşRangesini Diapazon kimi Dimləşdirin, Əgər 1-dən çox xana seçilibsə, Alt-dan çıxın, əgər Koord_Seçimi = Yanlışdırsa, Altdan çıxın 'seçim söndürülübsə, Application.ScreenUpdating = Yanlış Set WorkRange = Range-dən çıxın. (" A6:N300") 'seçimin göründüyü iş diapazonunun ünvanı  

İş diapazonunun ünvanını özünüzə dəyişdirin - seçimimiz bu diapazonda işləyəcək. Sonra Visual Basic Redaktorunu bağlayın və Excel-ə qayıdın.

Klaviatura qısa yolunu basın ALT + F8mövcud makroların siyahısı olan bir pəncərə açmaq üçün. Makro Seçim_Aktiv, təxmin etdiyiniz kimi, cari vərəqdə koordinat seçimi və makro daxildir Seçim_Off – söndürür. Eyni pəncərədə, düyməni basaraq Parameters (Seçimlər) Asanlıqla işə salmaq üçün bu makrolara klaviatura qısa yolları təyin edə bilərsiniz.

Bu metodun üstünlükləri:

  • nisbi icra asanlığı
  • seçim - əməliyyat zərərsizdir və vərəq hüceyrələrinin məzmununu və ya formatını heç bir şəkildə dəyişdirmir, hər şey olduğu kimi qalır

Bu metodun mənfi cəhətləri:

  • vərəqdə birləşdirilmiş xanalar varsa, belə seçim düzgün işləmir - birliyə daxil olan bütün sətirlər və sütunlar bir anda seçilir.
  • Əgər təsadüfən Sil düyməsini sıxsanız, o zaman təkcə aktiv xana deyil, bütün seçilmiş sahə silinəcək, yəni bütün sətir və sütundan məlumatları silin.

Metod 2. Orijinal. CELL + Şərti Formatlaşdırma funksiyası

Bu üsul, bir neçə çatışmazlıqları olsa da, mənə çox zərif görünür. Yalnız daxili Excel alətlərindən istifadə edərək bir şeyi həyata keçirmək üçün VBA-da proqramlaşdırmaya minimal şəkildə daxil olmaq aerobatikadır 😉

Metod verilmiş xana haqqında çoxlu müxtəlif məlumat verə bilən CELL funksiyasından istifadəyə əsaslanır – hündürlük, en, sətir-sütun nömrəsi, rəqəm formatı və s. Bu funksiyanın iki arqumenti var:

  • "sütun" və ya "sətir" kimi parametr üçün kod sözü
  • bu parametrin dəyərini müəyyən etmək istədiyimiz xananın ünvanı

Hiylə ondan ibarətdir ki, ikinci arqument isteğe bağlıdır. Göstərilməyibsə, cari aktiv xana götürülür.

Bu metodun ikinci komponenti şərti formatlaşdırmadır. Bu son dərəcə faydalı Excel xüsusiyyəti, müəyyən şərtlərə cavab verdikdə xanaları avtomatik formatlamağa imkan verir. Bu iki ideyanı bir yerdə birləşdirsək, şərti formatlaşdırma vasitəsilə koordinat seçimimizi həyata keçirmək üçün aşağıdakı alqoritmi əldə edirik:

  1. Cədvəlimizi, yəni gələcəkdə koordinat seçiminin göstərilməli olduğu xanaları seçirik.
  2. Excel 2003 və daha köhnə versiyalarda menyunu açın Format - Şərti Formatlaşdırma - Düstur (Format - Şərti Formatlaşdırma - Formula). Excel 2007 və daha yeni versiyalarda - nişanı vurun Əsas səhifə (Ev)düyməsini Şərti Formatlaşdırma – Qayda yaradın (Şərti Formatlaşdırma - Qayda yaradın) və qayda növünü seçin Hansı xanaların formatlanacağını müəyyən etmək üçün düsturdan istifadə edin (Düsturdan istifadə edin)
  3. Koordinat seçimimiz üçün formula daxil edin:

    =VEYA(CELL("sətir")=SƏR(A2),CELL("sütun")=SÜTUN(A2))

    =VEYA(CELL(«sətir»)=SƏR(A1),CELL(«sütun»)=SÜTUN(A1))

    Bu düstur cədvəldəki hər bir xananın sütun nömrəsinin cari xananın sütun nömrəsi ilə eyni olub olmadığını yoxlayır. Eynilə sütunlarla. Beləliklə, yalnız sütun nömrəsi və ya cari xanaya uyğun gələn sıra nömrəsi olan xanalar doldurulacaq. Bu, bizim nail olmaq istədiyimiz çarpaz formalı koordinat seçimidir.

  4. mətbuat Çərçivə (Format) və doldurma rəngini təyin edin.

Hər şey demək olar ki, hazırdır, amma bir nüans var. Fakt budur ki, Excel seçimdəki dəyişikliyi vərəqdəki məlumatların dəyişməsi kimi qəbul etmir. Və nəticədə o, yalnız aktiv xananın mövqeyi dəyişdikdə düsturların yenidən hesablanmasına və şərti formatlaşdırmanın yenidən rənglənməsinə səbəb olmur. Buna görə də, bunu edəcək vərəq moduluna sadə bir makro əlavə edək. Vərəq sekmesini sağ vurun və kontekst menyusundan əmri seçin Mənbə mətni (Mənbə kodu).Visual Basic Editor pəncərəsi açılmalıdır. Bu sadə makronun bu mətnini ona kopyalayın:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveCell.Calculate End Sub  

İndi seçim dəyişdikdə, funksiya ilə formulun yenidən hesablanması prosesi başlayacaq HÜCRƏ şərti formatlaşdırmada və cari sıra və sütunu doldurun.

Bu metodun üstünlükləri:

  • Şərti formatlaşdırma xüsusi cədvəl formatını pozmur
  • Bu seçim seçimi birləşdirilmiş xanalarla düzgün işləyir.
  • Təsadüfən kliklədikdə bütün sətir və verilənlər sütununu silmək riski yoxdur Sil.
  • Makrolardan minimal istifadə olunur

Bu metodun mənfi cəhətləri:

  • Şərti formatlaşdırma düsturu əl ilə daxil edilməlidir.
  • Belə formatlaşdırmanı aktivləşdirmək/deaktiv etmək üçün sürətli bir yol yoxdur – qayda silinənə qədər həmişə aktivdir.

Metod 3. Optimal. Şərti Formatlaşdırma + Makroslar

Qızıl orta. Metod-1-dən makrolardan istifadə edərək vərəqdəki seçimi izləmək üçün mexanizmdən istifadə edirik və Metod-2-dən şərti formatlaşdırmadan istifadə edərək ona təhlükəsiz işıqlandırma əlavə edirik.

Belə bir koordinat seçimini əldə etmək istədiyiniz bir cədvəl ilə bir vərəq açın. Vərəq sekmesini sağ vurun və kontekst menyusundan əmri seçin Mənbə mətni (Mənbə kodu).Visual Basic Editor pəncərəsi açılmalıdır. Bu üç makronun bu mətnini ona kopyalayın:

Boolean Alt Seçim Kimi Dim Koord_Seçimi_Açıq() Koord_Seçimi = Həqiqi Son Alt Alt Seçim_Off() Koord_Seçimi = Yanlış Son Alt Alt İş Vərəqi_SeçimChange(Məqsəd olaraq Hədəf Dəyişdirmə) Diapazon kimi Dim İş Aralığı, Çarpaz Aralıq:A Aralıq kimi Dim 'adres рабочего диапазона с таблицей If Target.Count > 7 Onda Exit Sub Exit If Coord_Selection = False then WorkRange.FormatConditions.Delete Exit Sub End If Application.ScreenUpdating = False If Dissect(Target, WorkRange) Nothing the Intersect(Target, WorkRange) Delete Nothing With Intersect(Target, WorkRange) Delete Nothing the Intersect(Target, WorkRange) Nothing the CrossRange WorkRange, Union(Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.CrossRange.FormatConditions.Delete CrossRange.FormatConditions.Add Type:=xlExpression, Formula300:="=1" CrossRange.FormatConditions(1).Interior.ColorIndex.Format=Format. .Delete End If End Sub  

İş diapazonunun ünvanını cədvəl ünvanınıza dəyişməyi unutmayın. Visual Basic redaktorunu bağlayın və Excel-ə qayıdın. Əlavə edilmiş makrolardan istifadə etmək üçün klaviatura qısa yolunu basın ALT + F8  və 1-ci üsulla eyni şəkildə davam edin. 

Metod 4. Gözəl. FollowCellPointer əlavəsi

Hollandiyadan olan Excel MVP Jan Karel Pieterse öz saytında pulsuz əlavə hədiyyə edir FollowCellPointer(36Kb), cari sətir və sütunu vurğulamaq üçün makrolardan istifadə edərək qrafik ox xətləri çəkərək eyni problemi həll edir:

 

Gözəl həll. Yerlərdə qüsurlar olmadan deyil, amma mütləq cəhd etməyə dəyər. Arxivi yükləyin, diskə çıxarın və əlavəni quraşdırın:

  • Excel 2003 və daha yuxarı versiyalarda - menyu vasitəsilə Xidmət – Əlavələr – Baxış (Alətlər - Əlavələr - Axtarış)
  • Excel 2007 və daha sonra, vasitəsilə Fayl - Seçimlər - Əlavələr - Get - Gözdən keçir (Fayl — Excel Seçimləri — Əlavələr — Keçin — Gözdən keçirin)

  • Makrolar nədir, Visual Basic-də makro kodu hara daxil etmək olar

 

Cavab yaz