Pamilihan Koordinat

Anjeun gaduh monitor badag, tapi tabel anjeun damel sareng malah leuwih badag. Sareng, ningali layar dina milarian inpormasi anu diperyogikeun, sok aya kasempetan pikeun "slip" panon anjeun ka garis salajengna sareng ningali ka arah anu salah. Kuring malah terang jalma-jalma anu, pikeun kaayaan sapertos kitu, sok nyimpen panguasa kai caket aranjeunna pikeun ngagantelkeun kana garis dina monitor. Téknologi masa depan! 

Sareng upami baris sareng kolom ayeuna disorot nalika sél aktip ngalih dina lambaran? Jenis pilihan koordinat sapertos kieu:

Langkung saé tibatan pangawasa, sanés?

Aya sababaraha cara pajeulitna varying pikeun nerapkeun ieu. Unggal métode boga pro jeung kontra. Hayu urang tingali aranjeunna sacara rinci.

Métode 1. Jelas. Macro anu nyorot baris sareng kolom ayeuna

Cara anu paling atra pikeun ngabéréskeun masalah urang "dina dahi" - urang peryogi makro anu bakal ngalacak parobahan dina seleksi dina lambaran sareng pilih sadaya baris sareng kolom pikeun sél ayeuna. Éta ogé desirable pikeun bisa ngaktipkeun sarta nganonaktipkeun pungsi ieu lamun perlu, ku kituna pilihan cross-ngawangun misalna teu nyegah urang asup, contona, rumus, tapi ngan jalan mun urang nempo ngaliwatan daptar dina pilarian tina perlu. inpormasi. Ieu mawa urang kana tilu makro (pilih, aktipkeun, sareng mareuman) anu kedah ditambihan kana modul lambar.

Buka lambar sareng méja dimana anjeun badé kéngingkeun pilihan koordinat sapertos kitu. Klik-katuhu dina tab lambar sareng pilih paréntah tina ménu kontéks Sumber téks (Kode sumber).Jandéla Éditor Visual Basic kedah dibuka. Salin téks ieu tina tilu makro ieu kana éta:

Taram Coord_Selection Salaku Boolean 'Variabel global pikeun seleksi on/off Sub Selection_On() 'Makro on selection Coord_Selection = True End Sub Selection_Off() 'Makro off selection Coord_Selection = Palsu Tungtung Sub 'Prosedur utama nu ngalakukeun pilihan Private Sub Worksheet_SelectionChange Salaku(ByVal Target Rentang) Taram WorkRange Salaku Rentang Upami Target.Cells.Count > 1 Teras Kaluar Sub 'upami langkung ti 1 sél dipilih, kaluar Upami Coord_Selection = Palsu Teras Kaluar Sub' upami pilihan pareum, kaluar Application.ScreenUpdating = Palsu Setel WorkRange = Range ("A6:N300") 'alamat rentang gawé di mana pilihan nu katingali  

Robah alamat rentang kerja anjeun sorangan - éta dina rentang ieu pilihan urang bakal jalan. Teras tutup Visual Basic Editor sareng uih deui ka Excel.

Pencét potong kompas keyboard Alt + F8pikeun muka jandela kalawan daptar macros sadia. Makro Selection_On, Anjeun bisa nebak, ngawengku pilihan koordinat dina lambar ayeuna, jeung makro Selection_Pareum – mareuman. Dina jandela nu sami, ku ngaklik tombol parameter (Pilihan) Anjeun tiasa netepkeun potong kompas keyboard kana makro ieu pikeun gampang diluncurkeun.

Kaunggulan tina metoda ieu:

  • betah relatif palaksanaan
  • Pilihan - operasi henteu bahaya sareng henteu ngarobih eusi atanapi pormat sél lambar ku cara naon waé, sadayana tetep sapertos kieu

Kontra tina metoda ieu:

  • Pilihan sapertos kitu henteu tiasa dianggo leres upami aya sél anu ngahiji dina lambaran - sadaya baris sareng kolom anu kalebet dina union dipilih sakaligus
  • Upami anjeun teu kahaja pencét tombol Pupus, maka henteu ngan sél aktip anu bakal diberesihan, tapi sakumna daérah anu dipilih, nyaéta ngahapus data tina sadaya baris sareng kolom.

Métode 2. Asli. CELL + Fungsi pormat kondisional

Metoda ieu, sanaos gaduh sababaraha kalemahan, sigana mah elegan pisan. Pikeun ngalaksanakeun hiji hal ngan ukur nganggo alat Excel anu diwangun, minimal asup kana program dina VBA nyaéta aerobatik 😉

Metoda ieu dumasar kana ngagunakeun fungsi CELL, anu tiasa masihan seueur inpormasi anu béda dina sél anu dipasihkeun - jangkungna, lebar, nomer baris-kolom, format angka, jsb. Fungsi ieu ngagaduhan dua argumen:

  • kecap kode pikeun parameter, sapertos "kolom" atanapi "baris"
  • alamat sél nu urang hoyong nangtukeun nilai parameter ieu

Trik nya éta argumen kadua pilihan. Upami teu dieusian, teras sél aktip ayeuna dicandak.

Komponén kadua tina metoda ieu nyaéta pormat kondisional. Fitur Excel anu mangpaat pisan ieu ngamungkinkeun anjeun ngaformat sél sacara otomatis upami aranjeunna nyumponan kaayaan anu ditangtukeun. Upami urang ngagabungkeun dua ide ieu janten hiji, urang kéngingkeun algoritma ieu pikeun ngalaksanakeun pamilihan koordinat kami ngalangkungan pormat kondisional:

  1. Urang milih méja urang, nyaéta sél-sél anu mana pilihan koordinat kedah dipintonkeun ka hareup.
  2. Dina Excel 2003 sareng langkung lami, buka ménu Format - Format Sarat - Rumus (Format — pormat kondisional — rumus). Dina Excel 2007 sareng langkung énggal - klik tab imah (Bumi)kancing Formatting kondisional - Jieun Aturan (Format Sarat - Jieun Aturan) tur pilih tipe aturan Paké rumus pikeun nangtukeun sél mana formatna (Gunakeun rumus)
  3. Lebetkeun rumus pikeun pilihan koordinat kami:

    = ATAWA(SEL("baris") = BARIS(A2),SEL("kolom") = KOLOM(A2))

    = ATAWA(SEL(«baris»)=BARIS(A1),SEL(«kolom»)=KOLUM(A1))

    Rumus ieu pariksa naha jumlah kolom unggal sél dina tabél sami sareng nomer kolom sél ayeuna. Kitu ogé jeung kolom. Ku kituna, ngan ukur sél anu gaduh nomer kolom atanapi nomer baris anu cocog sareng sél ayeuna anu bakal dieusi. Sareng ieu mangrupikeun pilihan koordinat bentuk silang anu urang hoyong ngahontal.

  4. pers kerangka (Format) tur nyetel warna eusian.

Sagalana ampir siap, tapi aya hiji nuansa. Kanyataan yén Excel henteu nganggap parobahan dina pilihan salaku parobahan dina data dina lambaranana. Sarta, salaku hasilna, teu pemicu recalculation rumus jeung recoloring tina pormat kondisional ngan lamun posisi sél aktif robah. Ku alatan éta, hayu urang tambahkeun makro basajan kana modul lambar anu bakal ngalakukeun ieu. Klik-katuhu dina tab lambar sareng pilih paréntah tina ménu kontéks Sumber téks (Kode sumber).Jandéla Éditor Visual Basic kedah dibuka. Salin téks makro basajan ieu kana éta:

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

Ayeuna, nalika pamilihan robih, prosés ngitung ulang rumus sareng fungsina bakal dijalankeun KASUK dina pormat kondisional sareng banjir baris sareng kolom ayeuna.

Kaunggulan tina metoda ieu:

  • pormat kondisional teu megatkeun pormat tabel custom
  • Pilihan pilihan ieu tiasa dianggo leres sareng sél anu dihijikeun.
  • Taya résiko mupus hiji sakabéh baris jeung kolom data dina klik teu kahaja pupus.
  • Makro dianggo minimal

Kontra tina metoda ieu:

  • Rumus pikeun pormat kondisional kudu diasupkeun sacara manual.
  • Teu aya jalan gancang pikeun ngaktipkeun / nganonaktipkeun pormat sapertos kitu - éta salawasna diaktipkeun dugi aturanna dihapus.

Métode 3. Optimal. Formatting kondisional + Macros

Emas hartosna. Kami nganggo mékanisme pikeun nyukcruk seleksi dina lambaran nganggo makro tina metode-1 sareng tambahkeun panyorot anu aman kana éta nganggo pormat kondisional tina metode-2.

Buka lambar sareng méja dimana anjeun badé kéngingkeun pilihan koordinat sapertos kitu. Klik-katuhu dina tab lambar sareng pilih paréntah tina ménu kontéks Sumber téks (Kode sumber).Jandéla Éditor Visual Basic kedah dibuka. Salin téks ieu tina tilu makro ieu kana éta:

Dim Coord_Selection Salaku Boolean Sub Selection_On() Coord_Selection = True End Sub Sub Selection_Off() Coord_Selection = Palsu Tungtung Sub Swasta Sub Worksheet_SelectionChange(ByVal Target Salaku Rentang) Taram WorkRange Salaku Rentang, CrossRange Salaku Range Set WorkRange ("7") = Rentang 'адрес рабочего диапазона с таблицей Lamun Target.Count > 300 Lajeng Kaluar Sub Lamun Coord_Selection = Palsu Lajeng WorkRange.FormatConditions.Hapus Kaluar Sub Ahir Lamun Application.ScreenUpdating = Palsu Lamun Teu Intersect(Target Sasaran) Teu aya, IntersectRange(Target) Teu aya, WorkRange.FormatConditions. WorkRange, Union(Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Delete CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1" CrossRange.FormatConditions(1).Interior.ColorIndex = 1 Target.FormatConditions .Pupus Tungtung Lamun Tungtung Sub  

Tong hilap ngarobih alamat rentang damel kana alamat méja anjeun. Tutup Editor Visual Basic sarta balik deui ka Excel. Pikeun make makro nu ditambahkeun, pencét potong kompas keyboard Alt + F8  sareng lumangsungna dina cara anu sami sareng metode 1. 

Métode 4. Geulis. Add-on FollowCellPointer

MVP Excel Jan Karel Pieterse ti Walanda masihan tambihan gratis dina halaman wéb na FollowCellPointer(36Kb), anu ngarengsekeun masalah anu sami ku cara ngagambar garis panah grafis nganggo makro pikeun nyorot baris sareng kolom ayeuna:

 

Solusi anu saé. Teu tanpa glitches di tempat, tapi pasti patut hiji try. Unduh arsipna, bongkar kana disk sareng pasang tambihanana:

  • dina Excel 2003 sareng langkung lami - ngalangkungan ménu Service - Add-ons - Ihtisar (Alat - Add-Ins - Kotektak)
  • dina Excel 2007 sarta engké, ngaliwatan File – Pilihan – Add-ons – Go – Browse (File - Excel Options - Add-Ins - Pindah ka - Browse)

  • Naon macros, dimana nyelapkeun kode makro dina Visual Basic

 

Leave a Reply