Tabloya naverokê
Di vê hînkirinê de, hûn ê 3 awayên cihêreng fêr bibin ku hûn bi dînamîk rêz û stûna şaneyek hilbijartî di Excel de ronî bikin.
Dema ku hûn pelgeyek xebata mezin ji bo demek dirêj temaşe bikin, hûn dibe ku di dawiyê de şopa we winda bike ka kursorê we li ku ye û hûn li kîjan daneyan digerin. Ji bo ku hûn di her kêliyê de tam zanibin ku hûn li ku ne, Excel bistînin ku bixweber rêz û stûna çalak ji bo we ronî bike! Bi xwezayî, ronîkirin divê dînamîk be û her gava ku hûn şaneyek din hilbijêrin biguhezin. Di bingeh de, ya ku em armanc dikin ku bigihîjin ev e:
Rêz û stûna şaneya hilbijartî bi VBA-ya bijartî-xweser ronî kirin
Ev mînak nîşan dide ku hûn çawa dikarin stûnek çalak û rêzek bi programatîk bi VBA ronî bikin. Ji bo vê yekê, em ê bûyera SelectionChange ya objeya Worksheet bikar bînin.
Pêşî, hûn rengê paşxaneya hemî şaneyên li ser pelê bi danîna paqij bikin. Taybetmendiya 1>ColorIndex ji bo 0. Û dûv re, hûn tevahiya rêz û stûna şaneya çalak ronî dikin û taybetmendiya wan ColorIndex ji bo rengê xwestinê li ser nimreya nîşanê danîne.
Bin Worksheet_SelectionChange (ByVal Target Wek Range) Ger Target.Cells.Count & gt; 1 Paşê Derkeve Sub Application.ScreenUpdating = Derew 'Rengê hemî şaneyan paqij bike Cells.Interior.ColorIndex = 0 Bi Target 'Rêz û stûna şaneya hilbijartî ronî bike .EntireRow.Interior.ColorIndex = 38.EntireColumn.Interior.ColorIndex = 24 Dawî Bi Application.ScreenUpdating = Bineya Dawî ya RastPeydakirina kodê
Heke hûn dixwazin kodê li gorî hewcedariyên xwe xweş bikin, dibe ku ev serişteyên piçûk bi kêrî we werin:
- Koda meya nimûneyê du rengên cihêreng ên ku di gif-a jorîn de hatine destnîşan kirin bikar tîne - nîşana rengê 38 ji bo rêzê û 24 ji bo stûnê. Ji bo guherandina rengê ronîkirinê , tenê wan kodên ColorIndex-ê yên bijare biguherînin.
- Ji bo ku rêz û stûn bi heman rengî bi rengê reng bibin , heman rengî bikar bînin. ji bo herduyan jimareya nîşaneya rengîn.
- Ji bo ku rêza çalak tenê ronî bike, vê rêzê rake an şîrove bike: .EntireColumn.Interior.ColorIndex = 24
- Ji bo ku stûna çalak tenê ronî bike, vê rêzê jê rake an şîrove bike: .EntireRow.Interior.ColorIndex = 38
Çawa kodê zêde bike ji bo pelxebata xwe
Ji bo ku kod bi bêdengî di paşperdeya pelxebatek taybetî de were darve kirin, hûn hewce ne ku wê têxin pencereya kodê ya girêdayî wê pelgeyê, ne di modula normal de. Ji bo ku ew pêk were, van gavan bi cih bînin:
- Di pirtûka xweya xebatê de, Alt + F11 bikirtînin da ku hûn bigihîjin edîtorê VBA.
- Di Project Explorer ya li milê çepê de, hûn Dê navnîşek hemî pirtûkên xebatê yên vekirî û pelên xebata wan bibînin. Heke hûn wê nabînin, kurtenivîsa Ctrl + R bikar bînin da ku pencereya Project Explorer bîne ber çavan.
- Pirtûka xebatê ya armancê bibînin. Di wê Microsoft Excel dePeldanka Objekt , li ser pelika ku hûn dixwazin ronîkirinê tê de bicîh bikin du caran bikirtînin. Di vê nimûneyê de, ew Pelê 1 e.
- Di pencereya Kodê ya rastê de, koda jorîn binivîsin.
- Pelê xwe wekî Pirtûka Xebatê ya Çalakkirî ya Makro tomar bike. (.xlsm) ji aliyê bikarhêner ve tu verastkirin/cudahîkirin ne hewce ye; di hemî guhertoyên Excel de kar dike.
Kêmasiyên : Du aliyên bingehîn hene ku vê teknîkê di hin mercan de nepêkandar dikin:
- Koda paşiyê paqij dike rengên yên hemî şaneyên di pela xebatê de. Ger şaneyên we yên rengîn hebin, vê çareseriyê bikar neynin ji ber ku formata weya xwerû dê winda bibe.
- Pêkanîna vê kodê bloke dike fonksiyona betalkirinê li ser pelê, û hûn ê nikaribin bi tikandina Ctrl + Z çalakiyek xelet betal bikin.
Rêz û stûna çalak bêyî VBA nîşan bidin
Ya herî çêtirîn ku hûn dikarin rêza hilbijartî ronî bikin û / an jî stûna bê VBA, formatkirina şertî ya Excel e. Ji bo sazkirina wê, van gavan bi cih bînin:
- Detûya xwe ya ku divê tê de ronîkirin were kirin hilbijêrin.
- Li ser tabloya Mal , di nav <1 1>Styles kom, bikirtînin Rêbaza Nû .
- Di qutiya diyalogê ya Rêbaza Formakirina Nû de, hilbijêrin Formulek bikar bînin ku diyar bikin ka kîjan şaneyan format .
- Di Nirxên Formatê de ku ev formula tê de yerast e qutik, yek ji van formulan binivîse:
Ji bo ronîkirina rêza çalak :
=CELL("row")=ROW()
Ji bo ronîkirina stûna çalak :
=CELL("col")=COLUMN()
Ji bo ronîkirina rêz û stûna çalak :
=OR(CELL("row")=ROW(), CELL("col")= COLUMN())
Hemî formulan fonksiyona CELL bikar tînin ku hejmara rêz/stûna şaneya hilbijartî vegerîne.
- Bişkojka Format bikirtînin, veguherînin tabloya Dajî û rengê ku hûn jê hez dikin hilbijêrin.
- Ji bo girtinê du caran OK bikirtînin. her du paceyên diyalogê.
Heke hûn hîs dikin ku hewcedariya we bi talîmatên berfirehtir heye, ji kerema xwe binihêrin Meriv çawa qaîdeya formatkirina şert-based formula biafirîne.
Ji bo vê nimûneyê, me OR hilbijart formula ku hem stûn û hem rêz di heman reng de siya dike. Ew kem kêm kar digire û ji bo pir rewşan guncan e.
Mixabin, ev çareserî ne bi qasî ya VBA-yê xweş e ji ber ku ew hewce dike ji nû ve hesabkirina pelê bi destan bike (bi tikandina bişkojka F9). Bi xwerû, Excel tenê piştî têketina daneya nû an guheztina ya heyî, pelek xebatê ji nû ve hesab dike, lê ne dema ku hilbijartin diguhezîne. Ji ber vê yekê, hûn hucreyek din hilbijêrin - tiştek nabe. F9 bikirtînin - pel tê nûkirin, formula ji nû ve tê hesibandin, û ronîkirin tê nûve kirin.
Ji bo ku dema ku bûyera SelectionChange çêdibe, pelgeya xebatê bixweber were hesibandin. diqewime, hûn dikarin vê koda VBA-ya sade di modula kodê ya pelê mebesta xwe de wekî ku tê rave kirin bi cîh bikinmînaka berê:
Bingeha Taybetî Worksheet_SelectionChange(ByVal Target As Range) Target.Hesabkirina End SubKodê rêgeza/hucreya hilbijartî neçar dike ku ji nû ve hesab bike, ku di encamê de fonksiyona CELL neçar dike ku nûve bike û formatkirina şertî ku nîşan bide guherandin.
Awantaj : berevajî rêbaza berê, ev yek bandorê li formata heyî ya ku we bi destan sepandiye nake.
Kêmasî : dibe ku performansa Excel xirabtir bike.
- Ji bo ku formatkirina şertî bixebite, hewce ye ku Excel li ser her guhertina hilbijartinê ji nû ve formulê hesab bike (bi destan bi bişkoka F9 an bixweber bi VBA re). Hesabên bi zorê dibe ku Excel we hêdî bike. Ji ber ku koda me ji nû ve bijartinê dihejmêre ne ji tevahî pelgehek, bandorek neyînî bi îhtîmalek mezin dê tenê li ser pirtûkên xebatê yên bi rastî mezin û tevlihev xuya bibe.
- Ji ber ku fonksiyona CELL di Excel 2007 û mezintir de heye, rêbaz dê ' di guhertoyên berê de kar dikin.
Rêz û stûna hilbijartî bi karanîna formatkirina şert û VBA nîşan bidin
Heke ku rêbaza berê pirtûka we pir hêdî hêdî bike, hûn dikarin bi rengek cûda nêzikî peywirê bibin - li şûna ji nû ve hesabkirina pelxebatek li ser her tevgerek bikarhêner, bi alîkariya VBA-yê jimareya rêz/stûna çalak bistînin û dûv re wê hejmarê bi karanîna formûlên formkirina şertî ji fonksiyona ROW() an COLUMN() re pêşkêş bikin.
Ji bo vê pêk bînin,li vir gavên ku divê hûn bişopînin ev in:
- Rûpelek nû ya vala li pirtûka xweya xebatê zêde bikin û navê wê bikin Pelgeya Alîkar . Tenê armanca vê pelê ew e ku du hejmarên ku rêz û stûnek tê de şaneyek hilbijartî temsîl dikin hilîne, da ku hûn bi ewlehî pelê li deqek paşê veşêrin.
- VBA-ya jêrîn têxin pencereya kodê ya pelê xebatê. cihê ku hûn dixwazin ronîkirinê bicîh bikin. Ji bo rêwerzên berfireh, ji kerema xwe serî li mînaka meya yekem bidin. Bineya Taybet Worksheet_SelectionChange(ByVal Target As Range) Application.ScreenUpdating = Xebatên Derewîn("Pargeha Alîkar").Cells(2, 1) = Target.Rew Worksheets("Helper Sheet").Cells(2, 2) = Target.lumn Application.ScreenUpdating = Bingeha Dawiya Rast
Koda jorîn koordînatên rêz û stûna çalak li pelika bi navê "Helper Sheet" bi cih dike. Ger we di gava 1-ê de navê pelê xwe bi rengek cûda danî, li gorî wê navê pelê xebatê di kodê de biguhezînin. Hejmara rêzê ji bo A2 û hejmara stûnê ji bo B2 tê nivîsandin.
- Di pelgeya xebatê ya hedefa xwe de, tevaya databasê hilbijêrin, û bi formulên jêrîn qaîdeyek formatkirina şertî biafirînin. Rêbernameya gav-bi-gav di mînaka jorîn de tê pêşkêş kirin.
Û niha, werin em sê rewşên karanîna sereke bi hûrgulî veşêrin.
Rêza çalak çawa ronî bike
Ji bo ronîkirina rêza ku lêkera te niha lê hatiye danîn, bi vê re qaîdeyek formatkirina şertî saz bikeformula:
=ROW()='Helper Sheet'!$A$2
Di encamê de, bikarhêner dikare bi zelalî bibîne ka kîjan rêza niha hatî hilbijartin:
Meriv çawa stûna çalak ronî dike
Ji bo ronîkirina stûna hilbijartî, bi vê formulê jimareya stûnê bide fonksiyona COLUMN:
=COLUMN()='Helper Sheet'!$B$2
Naha, stûnek ronîkirî dihêle hûn bi rehetî û bêhêz daneyên vertîkal bixwînin û bi tevahî li ser wê hûr bibin.
Çawa rêz û stûna çalak ronî bikin
Ji bo ku rêz û stûna hilbijartî bixweber di heman reng de bişewite, fonksiyonên ROW() û COLUMN() di yek formulekê de berhev bikin:
=OR(ROW()='Helper Sheet'!$A$2, COLUMN()='Helper Sheet'!$B$2)
Daneyên pêwendîdar tavilê têne balkişandinê, ji ber vê yekê hûn dikarin ji nexwendina şaş dûr bikevin.
Awantaj : performansa xweşbînkirî; di hemî guhertoyên Excel de dixebite
Dawazî : sazkirina herî dirêj
Bi vî rengî meriv stûn û rêza şaneyek hilbijartî di Excel de ronî dike. Ez spasiya te dikim ji bo xwendinê û li hêviya dîtina te di hefteya pêş de li ser bloga me me!
Pirtûka xebatê ya ji bo daxistinê pratîk bike
Tişkandin rêz û stûna çalak (pelê .xlsm)