קאָואָרדאַנאַט סעלעקציע

איר האָבן אַ גרויס מאָניטאָר, אָבער די טישן מיט וואָס איר אַרבעט זענען אפילו ביגער. און איר זוכט איבער די פאַרשטעלן אין זוכן פון די נייטיק אינפֿאָרמאַציע, עס איז שטענדיק אַ געלעגנהייט צו "צעטל" דיין אויגן צו דער ווייַטער שורה און קוק אין די אומרעכט ריכטונג. איך קען אפילו מענטשן וואס פאר אזעלכע מאל האלטן אלעמאל א הילצערנע הערשער נאענט צו זיי צו צוטשעפען צו די ליניע אויפן מאָניטאָר. טעקנאַלאַדזשיז פון דער צוקונפֿט! 

און אויב די קראַנט רודערן און זייַל זענען כיילייטיד ווען די אַקטיוו צעל באוועגט אַריבער די בויגן? א מין פון קאָואָרדאַנאַט סעלעקציע ווי דאָס:

בעסער ווי אַ ווירע, רעכט?

עס זענען עטלעכע וועגן פון וועריינג קאַמפּלעקסיטי צו ינסטרומענט דעם. יעדער אופֿן האט זייַן פּראָס און קאָנס. זאל ס נעמען אַ קוק בייַ זיי אין דעטאַל.

אופֿן 1. קלאָר ווי דער טאָג. מאַקראָ וואָס כיילייץ די קראַנט רודערן און זייַל

די מערסט קלאָר ווי דער טאָג וועג צו סאָלווע אונדזער פּראָבלעם "אויף די שטערן" - מיר דאַרפֿן אַ מאַקראָו וואָס וועט שפּור די ענדערונג אין די סעלעקציע אויף די בלאַט און אויסקלייַבן די גאנצע רודערן און זייַל פֿאַר די קראַנט צעל. עס איז אויך דיזייראַבאַל צו געבן און דיסייבאַל דעם פֿונקציע אויב נייטיק, אַזוי אַז אַזאַ אַ קרייַז-שייפּט סעלעקציע קען נישט פאַרמייַדן אונדז פון אַרייַן, למשל, פאָרמולאַס, אָבער נאָר אַרבעט ווען מיר קוקן דורך די רשימה אין זוכן פון די נייטיק. אינפֿאָרמאַציע. דאָס ברענגט אונדז צו די דריי מאַקראָס (סעלעקטירן, געבן און דיסייבאַל) וואָס וועט זיין מוסיף צו די בלאַט מאָדולע.

עפענען אַ בלאַט מיט אַ טיש אין וואָס איר ווילן צו באַקומען אַזאַ אַ קאָואָרדאַנאַט סעלעקציע. רעכט גיט אויף די בלאַט קוויטל און סעלעקטירן דעם באַפֿעל פון די קאָנטעקסט מעניו מקור טעקסט (מקור קאָד).די וויסואַל באַסיק עדיטאָר פֿענצטער זאָל עפענען. קאָפּי דעם טעקסט פון די דריי מאַקראָס אין עס:

Dim Coord_Selection As Boolean 'גלאבאלע וועריאַבאַל פֿאַר סעלעקציע אויף / אַוועק Sub Selection_On () 'מאַקראָ אויף סעלעקציע Coord_Selection = True End Sub Selection_Off () 'מאַקראָ אַוועק סעלעקציע Coord_Selection = False End Sub 'הויפּט פּראָצעדור וואָס פּערפאָרמז סעלעקציע פּריוואַטע סוב וואָרקשעעט_SelectionChange (ByVal Target As ראַנגע) טונקל וואָרקראַנגע ווי קייט אויב Target.Cells.Count > 1 דעמאָלט אַרויסגאַנג סוב 'אויב מער ווי 1 צעל איז אויסגעקליבן, אַרויסגאַנג אויב Coord_Selection = False דעמאָלט אַרויסגאַנג סוב 'אויב סעלעקציע איז אַוועק, אַרויסגאַנג Application.ScreenUpdating = False Set WorkRange = Range ("A6: N300") 'אַדרעס פון די אַרבעט קייט אין וואָס די סעלעקציע איז קענטיק  

טוישן די אַדרעס פון די אַרבעט קייט צו דיין אייגענע - אונדזער סעלעקציע וועט אַרבעטן אין דעם קייט. דערנאָך נאָענט די וויסואַל באַסיק עדיטאָר און צוריקקומען צו עקססעל.

דרוק דעם קלאַוויאַטור דורכוועג ALT + F8צו עפֿענען אַ פֿענצטער מיט אַ רשימה פון בנימצא מאַקראָס. מאַקראָו Selection_On, ווי איר קען טרעפן, כולל קאָואָרדאַנאַט סעלעקציע אויף דעם קראַנט בלאַט, און די מאַקראָו Selection_Off – קערט עס אפ. אין דער זעלביקער פֿענצטער, דורך געבן אַ קליק דעם קנעפּל פּאַראַמעטערס (אָפּציעס) איר קענען באַשטימען קלאַוויאַטור דורכוועג צו די מאַקראָס פֿאַר גרינג קאַטער.

אַדוואַנטאַגעס פון דעם אופֿן:

  • קאָרעוו יז פון ימפּלאַמענטיישאַן
  • סעלעקציע - די אָפּעראַציע איז ומשעדלעך און טוט נישט טוישן די אינהאַלט אָדער פאָרמאַטטינג פון די בלאַט סעלז אין קיין וועג, אַלץ בלייבט ווי עס איז

קאָנס פון דעם אופֿן:

  • אַזאַ סעלעקציע טוט נישט אַרבעטן ריכטיק אויב עס זענען מערדזשד סעלז אויף די בויגן - אַלע ראָוז און שפאלטן אַרייַנגערעכנט אין דער פאַרבאַנד זענען אויסגעקליבן אין אַמאָל
  • אויב איר אַקסאַדענאַלי דריקן די דיליט שליסל, ניט בלויז די אַקטיוו צעל וועט זיין קלירד, אָבער די גאנצע אויסגעקליבן געגנט, ד"ה ויסמעקן דאַטן פון די גאנצע רודערן און זייַל

אופֿן 2. אָריגינעל. צעל + קאַנדישאַנאַל פאָרמאַטטינג פֿונקציע

דעם אופֿן, כאָטש עס האט אַ פּאָר פון דיסאַדוואַנטידזשיז, מיינט צו מיר זייער עלעגאַנט. צו ינסטרומענט עפּעס מיט בלויז די געבויט-אין עקססעל מכשירים, מינאַמאַלי באַקומען אין פּראָגראַממינג אין VBA איז עראָבאַטיקס 😉

דער אופֿן איז באזירט אויף ניצן די CELL פֿונקציע, וואָס קענען געבן אַ פּלאַץ פון פאַרשידענע אינפֿאָרמאַציע אויף אַ געגעבן צעל - הייך, ברייט, רודערן-זייַל נומער, נומער פֿאָרמאַט, אאז"ו ו. די פֿונקציע האט צוויי אַרגומענטן:

  • אַ קאָד וואָרט פֿאַר דעם פּאַראַמעטער, אַזאַ ווי "זייַל" אָדער "רודערן"
  • די אַדרעס פון דער צעל פֿאַר וואָס מיר ווילן צו באַשליסן די ווערט פון דעם פּאַראַמעטער

דער קונץ איז אַז די צווייטע אַרגומענט איז אַפּשאַנאַל. אויב עס איז נישט ספּעסיפיעד, די קראַנט אַקטיוו צעל איז גענומען.

די רגע קאָמפּאָנענט פון דעם אופֿן איז קאַנדישאַנאַל פאָרמאַטטינג. דעם גאָר נוציק עקססעל שטריך אַלאַוז איר צו אויטאָמאַטיש פֿאָרמאַט סעלז אויב זיי טרעפן ספּעסיפיעד טנאָים. אויב מיר פאַרבינדן די צוויי יידיאַז אין איין, מיר באַקומען די פאלגענדע אַלגערידאַם פֿאַר ימפּלאַמענינג אונדזער קאָואָרדאַנאַט סעלעקציע דורך קאַנדישאַנאַל פאָרמאַטטינג:

  1. מיר אויסקלייַבן אונדזער טיש, ד"ה די סעלז אין וואָס די קאָואָרדאַנאַט סעלעקציע זאָל זיין געוויזן אין דער צוקונפֿט.
  2. אין עקססעל 2003 און עלטער, עפענען די מעניו פֿאָרמאַט - קאַנדישאַנאַל פאָרמאַטטינג - פאָרמולע (פאָרמאַט - קאַנדישאַנאַל פאָרמאַטטינג - פאָרמולע). אין עקססעל 2007 און נייַער - דריקט אויף די קוויטל היים (היים)קנעפּל קאַנדישאַנאַל פאָרמאַטטינג - שאַפֿן הערשן (קאַנדישאַנאַל פאָרמאַטטינג - שאַפֿן הערשן) און קלייַבן די טיפּ פון הערשן ניצן אַ פאָרמולע צו באַשליסן וואָס סעלז צו פֿאָרמאַט (נוץ פאָרמולע)
  3. אַרייַן די פאָרמולע פֿאַר אונדזער קאָואָרדאַנאַט סעלעקציע:

    =OR(CELL(“רודערן“)=רו(א2),צעל(“זײַל“)=קאָלם(א2))

    =OR(CELL(«רודערן»)=ROOW(A1),CELL(«שײַל»)=COLUMN(A1))

    דעם פאָרמולע טשעקס צו זען אויב די זייַל נומער פון יעדער צעל אין די טיש איז די זעלבע ווי די זייַל נומער פון דעם קראַנט צעל. אזוי אויך מיט שפאלטן. אזוי, בלויז די סעלז וואָס האָבן אָדער אַ זייַל נומער אָדער אַ רודערן נומער וואָס גלייַכן דעם קראַנט צעל וועט זיין אָנגעפילט אין. און דאָס איז די קרייַז-שייפּט קאָואָרדאַנאַט סעלעקציע וואָס מיר ווילן צו דערגרייכן.

  4. דריקן פראַמעוואָרק (פֿאָרמאַט) און שטעלן די פּלאָמבירן קאָלירן.

אַלץ איז כּמעט גרייט, אָבער עס איז איין נואַנס. דער פאַקט איז אַז עקססעל טוט נישט באַטראַכטן אַ ענדערונג אין די סעלעקציע ווי אַ ענדערונג אין די דאַטן אויף די בלאַט. און, ווי אַ רעזולטאַט, עס טוט נישט צינגל ריקאַלקיאַליישאַן פון פאָרמולאַס און רעקאָלאָרינג קאַנדישאַנאַל פאָרמאַטטינג בלויז ווען די שטעלע פון ​​די אַקטיוו צעל ענדערונגען. דעריבער, לאָזן אונדז לייגן אַ פּשוט מאַקראָו צו די בלאַט מאָדולע וואָס וועט טאָן דאָס. רעכט גיט אויף די בלאַט קוויטל און סעלעקטירן דעם באַפֿעל פון די קאָנטעקסט מעניו מקור טעקסט (מקור קאָד).די וויסואַל באַסיק עדיטאָר פֿענצטער זאָל עפענען. קאָפּי דעם טעקסט פון דעם פּשוט מאַקראָו אין עס:

פּריוואַט סאַב וואָרקשעעט_סעלעקטיאָן טשאַנגע (בייוואַל ציל ווי קייט) אַקטיווסעלל. קאַלקולאַטע סוף סוב  

איצט, ווען די סעלעקציע ענדערונגען, דער פּראָצעס פון ריקאַלקיאַלייטינג די פאָרמולע מיט די פונקציע וועט זיין לאָנטשט CELL אין קאַנדישאַנאַל פאָרמאַטטינג און מבול די קראַנט רודערן און זייַל.

אַדוואַנטאַגעס פון דעם אופֿן:

  • קאַנדישאַנאַל פאָרמאַטטינג טוט נישט ברעכן מנהג טיש פאָרמאַטטינג
  • דעם סעלעקציע אָפּציע אַרבעט ריכטיק מיט מערדזשד סעלז.
  • קיין ריזיקירן פון דיליטינג אַ גאַנץ רודערן און זייַל פון דאַטן אויף אַקסאַדענטאַל גיט ויסמעקן.
  • מאַקראָס זענען מינימאַל געניצט

קאָנס פון דעם אופֿן:

  • די פאָרמולע פֿאַר קאַנדישאַנאַל פאָרמאַטטינג מוזן זיין אריין מאַניואַלי.
  • עס איז קיין שנעל וועג צו געבן / דיסייבאַל אַזאַ פאָרמאַטטינג - עס איז שטענדיק ענייבאַלד ביז די הערשן איז אויסגעמעקט.

אופֿן 3. אָפּטימאַל. קאַנדישאַנאַל פאָרמאַטטינג + מאַקראָס

גאָלדען מיינען. מיר נוצן די מעקאַניזאַם פֿאַר טראַקינג די סעלעקציע אויף די בלאַט מיט מאַקראָס פון מעטאָד-1 און לייגן זיכער כיילייטינג צו עס מיט קאַנדישאַנאַל פאָרמאַטטינג פון מעטאָד-2.

עפענען אַ בלאַט מיט אַ טיש אין וואָס איר ווילן צו באַקומען אַזאַ אַ קאָואָרדאַנאַט סעלעקציע. רעכט גיט אויף די בלאַט קוויטל און סעלעקטירן דעם באַפֿעל פון די קאָנטעקסט מעניו מקור טעקסט (מקור קאָד).די וויסואַל באַסיק עדיטאָר פֿענצטער זאָל עפענען. קאָפּי דעם טעקסט פון די דריי מאַקראָס אין עס:

Dim Coord_Selection As Boolean Sub Selection_On() Coord_Selection = True End Sub Sub Selection_Off() Coord_Selection = False End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim WorkRange As Range, CrossRange As Range Set WorkRange = Range("A) 'אַדרעס рабочего диапазона с таблицей אויב טאַרגעט.קאָונט> 7 דעמאָלט אַרויסגאַנג סוב אויב קאָאָרד_סעלעקטיאָן = פאַלש דעמאָלט וואָרקראַנגע.פאָרמאַט קאָנדיטיאָנס. ויסמעקן אַרויסגאַנג סוב סוף אויב אַפּפּליקאַטיאָן.סקריןופּדאַטינג = פאַלש אויב איז ניט ינטערסעקט (טאַרגעט) וואָרקראַנגע, פֿאַרבאַנד (Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Delete CrossRange.FormatConditions.Add טיפּ:=xlExpression, Formula300:="=1" CrossRange.FormatConditions(1).Interior.ColorIndex.FormatConditions. .דיליט סוף אויב סוף סוב  

דו זאלסט נישט פאַרגעסן צו טוישן די אַרבעט קייט אַדרעס צו דיין טיש אַדרעס. נאָענט די וויסואַל באַסיק עדיטאָר און צוריקקומען צו עקססעל. צו נוצן די צוגעלייגט מאַקראָס, דריקן די קלאַוויאַטור דורכוועג ALT + F8  און גיינ ווייַטער אין די זעלבע וועג ווי אופֿן 1. 

אופֿן 4. שיין. FollowCellPointer אַדישאַן

עקססעל MVP Jan Karel Pieterse פֿון די נעטהערלאַנדס גיט אַ פריי אַדישאַן אויף זיין וועבזייטל FollowCellPointer(36Kb), וואָס סאַלווז דער זעלביקער פּראָבלעם דורך צייכענונג גראַפיק פייַל שורות ניצן מאַקראָס צו הויכפּונקט די קראַנט רודערן און זייַל:

 

פייַן לייזונג. ניט אָן גליטשיז אין ערטער, אָבער באשטימט ווערט אַ פּרובירן. אראפקאפיע די אַרקייוו, אַנפּאַק עס צו דיסק און ינסטאַלירן די אַדישאַן:

  • אין עקססעל 2003 און עלטער - דורך די מעניו סערוויס - לייג-אָנס - איבערבליק (מכשירים - לייג-ינס - בלעטער)
  • אין עקססעל 2007 און שפּעטער, דורך טעקע - אָפּציעס - לייג-אָנס - גיין - בלעטער (טעקע - עקססעל אָפּציעס - לייג-ינס - גיין צו - בלעטער)

  • וואָס זענען מאַקראָס, ווו צו אַרייַנלייגן מאַקראָו קאָד אין וויסואַל באַסיק

 

לאָזן אַ ענטפֿערן