עיצוב מותנה על רשימת ערכים

אנונימי
2024-09-30T11:08:27+00:00

האם יש אפשרות לעשות עיצוב מותנה באופן הבא: יש לי גיליון 1 עם ערכים מסויימים וגיליון 2 עם רשימת ערכים בעמודה אחת. אני רוצה שהוא יצבע לי בגיליון 1 את כל הערכים שמופיעים בעמודה שבגיליון 2. תודה

Microsoft 365 ו- Office | Excel | לשימוש ביתי | Windows

שאלה נעולה. השאלה הזו הועברה מקהילת התמיכה של Microsoft. באפשרותך להצביע אם היא שימושית, אך לא ניתן להוסיף הערות או תשובות או לעקוב אחר השאלה.

0 הערות אין הערות
התשובה התקבלה על-ידי מחבר השאלה
אנונימי
2024-10-07T04:09:37+00:00

תגובה זו תורגמה באופן אוטומטי. כתוצאה מכך, ייתכן שיש שגיאות דקדוק או מילים מוזרות.

היי Hodaya863,

אני מבין את הדרישות שלך. 

להלן הגרסה ששונתה של הקוד, אשר מוסיפה קצת אינטראקטיביות. כעת, הוא יבקש ממך לבחור באופן ידני את העמודה בגיליון1 שיש לסמן. הוא יחפש תוכן רק בהתבסס על השדות בעמודה A של גיליון2. 

Sub HighlightMatches()
    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim cell1 As Range, cell2 As Range
    Dim searchString As String
    Dim startPos As Long
    Dim selectedColumn As Range
    
    ' Set worksheets
    Set ws1 = ThisWorkbook.Sheets("Sheet1")
    Set ws2 = ThisWorkbook.Sheets("Sheet2")
    
    ' Get the selected column
    Set selectedColumn = Application.InputBox("Please select a column in Sheet1", Type:=8)
    
    ' Loop through column A in Sheet2
    For Each cell2 In ws2.Range("A1:A" & ws2.Cells(ws2.Rows.Count, "A").End(xlUp).Row)
        searchString = cell2.Value
        
        ' Loop through the selected column in Sheet1
        For Each cell1 In selectedColumn
            startPos = InStr(1, cell1.Value, searchString, vbTextCompare)
            
            ' If a match is found, highlight it
            If startPos > 0 Then
                With cell1.Characters(startPos, Len(searchString)).Font
                    .Color = RGB(255, 0, 0) ' Set highlight color to red
                    .Bold = True
                End With
            End If
        Next cell1
    Next cell2
End Sub

החלקים המתאימים של הקוד הוסברו באנגלית, וניתן לבצע שינויים קלים לפי הצורך. עדיין תוכל להפעיל אותו על-ידי לחיצה על חץ המשולש הירוק בממשק התיכנות או על-ידי הקשה על Alt+F8 ישירות בגיליון האלקטרוני. 

אם אתה מוצא את התגובה שלי מועילה, אתה יכול לסמן כן תחת התשובה שלי, כך שמשתמשים עם צרכים דומים יוכלו למצוא את התשובה מהר יותר. זה יעזור לי מאוד להמשיך לספק תמיכה טכנית בקהילה. תודה על שיתוף הפעולה. 

מצפה שתשתף אותנו בתוצאות.

שא ברכה

יונתן Z - MSFT | מומחה תמיכה קהילתית של Microsoft

האם התשובה הזו הייתה מועילה?

אדם אחד ציין שתשובה זו מועילה.
0 הערות אין הערות

6 תשובות נוספות

מיין לפי: המועיל ביותר
  1. אנונימי
    2024-10-06T06:47:49+00:00

    מדהים! תודה רבה

    אפשר לערוך את זה כך שבמקום שיחפש כל ערך בגיליון 2, יחפש רק בטווח ספציפי (למשל רק עמודה A) ובגיליון 1 יצבע רק טווח מסויים (עמודות מסויימות)

    כי נראה שכרגע הריצה של הסקריפט ממש ארוכה, לא הצלחתי לסיים אותה

    האם התשובה הזו הייתה מועילה?

    0 הערות אין הערות
  2. אנונימי
    2024-10-05T05:58:26+00:00

    תגובה זו תורגמה באופן אוטומטי. כתוצאה מכך, ייתכן שיש שגיאות דקדוק או מילים מוזרות.

    היי Hodaya863,

    תודה שביקרת ב- Microsoft Community.

    תכונת העיצוב המותנה אינה יכולה לשנות את העיצוב של חלק מהטקסט בתוך תא. עם זאת, ניתן להשיג את הדרישה שלך באמצעות סקריפט VBA פשוט. בהתבסס על הדוגמה שהזכרת בתשובתך, כתבתי את הקוד הבא. 

    Sub HighlightMatches()
    
      Dim ws1 As Worksheet, ws2 As Worksheet
    
       Dim cell1 As Range, cell2 As Range
    
      Dim searchString As String
    
      Dim startPos As Long
    
      Set ws1 = ThisWorkbook.Sheets("Sheet1")
    
      Set ws2 = ThisWorkbook.Sheets("Sheet2")
    
      For Each cell2 In ws2.UsedRange
    
          searchString = cell2.Value
    
          For Each cell1 In ws1.UsedRange
    
              startPos = InStr(1, cell1.Value, searchString, vbTextCompare)
    
              If startPos > 0 Then
    
                   With cell1.Characters(startPos, Len(searchString)).Font
    
                       .Color = RGB(255, 0, 0) 
    
                       .Bold = True
    
                   End With
    
              End If
    
          Next cell1
    
      Next cell2
    
    End Sub
    

    עקרון העבודה של קוד זה הוא:

    1. חזור על כל תא בגיליון2.
    2. עבור כל ערך תא, חפש התאמה בגיליון1.
    3. אם נמצאה התאמה, סמן את הטקסט התואם (הגדר אותו לאדום ומודגש).

    באפשרותך להקיש Alt+F11 כדי לפתוח את עורך ה- VBA של Excel, להוסיף מודול חדש לרשימת הפרוייקטים, להדביק את הקוד במודול ולאחר מכן ללחוץ על חץ המשולש הירוק כדי להפעיל אותו. להלן האפקט שבדקתי (התמונה מציגה את הגרסה האנגלית של Excel). אני מקווה שזה עונה על הצרכים שלך. 

    אם יש לך שאלות, אל תהסס לענות.

    שא ברכה

    יונתן Z - MSFT | מומחה תמיכה קהילתית של Microsoft

    האם התשובה הזו הייתה מועילה?

    0 הערות אין הערות
  3. אנונימי
    2024-10-01T09:07:55+00:00

    תודה!

    מה קורה אם בגיליון 1, בתא A1 כתוב "1 ועוד 90"? אני רוצה שיצבע לי את הערך "1" מתוך כלל המלל בתא (מאחר והערך 1 קיים בגיליון 2)

    האם התשובה הזו הייתה מועילה?

    0 הערות אין הערות
  4. אנונימי
    2024-10-01T03:33:42+00:00

    תגובה זו תורגמה באופן אוטומטי. כתוצאה מכך, ייתכן שיש שגיאות דקדוק או מילים מוזרות.

    שלום, הודיה863

    ברוך הבא לקהילת Microsoft.

    אני מבין שערכים מסוימים מופיעים בגיליון 2, וברצונך לצבוע את הערכים המתאימים בגיליון 1. אני מבין איך אתה מרגיש. אנא אל תהסס לתקן אותי אם הבנתי שגויה.

    באפשרותך להשתמש בעיצוב מותנה כדי להשיג דרישה זו.

    לדוגמה:

    קיימים ערכים 1, 2 ו- 3 בגיליון 2. בגיליון 1, הפוך את התאים המכילים 1, 2 ו- 3 לירוקים.

    להלן השלבים:

    בגיליון 1, בחר את אזור התא שבו עליך להחיל עיצוב מותנה. (באפשרותך לבחור את כל התאים על-ידי הקשה על Ctrl + A.)

    תמונה

    לחץ על הלחצן "מותנה Formatting" תחת הכרטיסייה "דף הבית".

    תמונה

    בחר "כלל חדש".

    בחר "השתמש בנוסחה כדי לקבוע אילו תאים לעצב".

    תמונה

    הזן את הנוסחה. בהנחה שטווח הערכים בגיליון 2 כולל את התאים A1 עד C3, באפשרותך להשתמש בנוסחה הבאה:

    =COUNTIF(גיליון2!$A$1:$C$3,A1)>0
    

    נוסחה זו פירושה שאם ערכי התאים בגיליון 2 מ- A1 עד C3 מופיעים בגיליון 1 (בדוגמה זו, עבור ערכים: 1, 2, 3), התנאי מתקיים.

    הגדר את התבנית. בחר את התבנית שברצונך להחיל, כגון צבע מילוי, צבע גופן וכו'. בדוגמה זו, אני מגדיר את צבע המילוי לירוק.

    תמונה

    הנה התוצאה בגיליון 1:

    ![תמונה](https://filestore.community.support.microsoft.com/api/images/65862712-</a>6256-4c05-b1a5-bfb2d3729eff?upload=true& fud_access=hC1SxZhn7m%2FZQJkOIiOVstu10yTQgXS4A%2FDBzZTg8nbaCgIogkrcDydMeI5Y4za2dOqDdWtsG2JNS3E35V60i9TiGHR7STMpJHheeXuDvO8nwjUlqCBHhJ0NDvuYN7OSXvapjoqvgA2wFEmfW%2B4%2BY%2Fht3T4Xv45%2B7IILNhTa3slhTnAG5NqLfenMBUG01h9024xcDB 5DNTCtOX86pBsEW9cZU4GfDZGHJstMhLX6S2lB8i49KL6BptqHZ1pFYylEIgg45fszqhR5L6wNqFk45mlraMTU8e0CnG50EVZAGIJbCxXElgpJX%2BkxBlSr9q0eJ%2Fy22lGOUc00ArwDgYhKI5qqDAXcbZQMij5GLiPkuFDsLIVogKGwc0Bq8moiP2fPufeT2X3nTwfL% 2FFlbc0ayBGg4iDrDU3m4qUxa1XDyRbE%3D)

    https://learn-attachment.microsoft.com/api/attachments/65862712-6256-4c05-b1a5-bfb2d3729eff?platform=QnA&fud_access=hC1SxZhn7m%2FZQJkOIiOVstu10yTQgXS4A%2FDBzZTg8nbaCgIogkrcDydMeI5Y4za2dOqDdWtsG2JNS3E35V60i9TiGHR7STMpJHheeXuDvO8nwjUlqCBHhJ0NDvuYN7OSXvapjoqvgA2wFEmfW%2B4%2BY%2Fht3T4Xv45%2B7IILNhTa3slhTnAG5NqLfenMBUG01h9024xcDB5DNTCtOX86pBsEW9cZU4GfDZGHJstMhLX6S2lB8i49KL6BptqHZ1pFYylEIgg45fszqhR5L6wNqFk45mlraMTU8e0CnG50EVZAGIJbCxXElgpJX%2BkxBlSr9q0eJ%2Fy22lGOUc00ArwDgYhKI5qqDAXcbZQMij5GLiPkuFDsLIVogKGwc0Bq8moiP2fPufeT2X3nTwfL%2FFlbc0ayBGg4iDrDU3m4qUxa1XDyRbE%3D

    אני מקווה שתשובתי תעזור לך. אנא הודע לי אם התוצאה תואמת את הציפיות שלך.

    https://learn-attachment.microsoft.com/api/attachments/65862712-6256-4c05-b1a5-bfb2d3729eff?platform=QnA&fud_access=hC1SxZhn7m%2FZQJkOIiOVstu10yTQgXS4A%2FDBzZTg8nbaCgIogkrcDydMeI5Y4za2dOqDdWtsG2JNS3E35V60i9TiGHR7STMpJHheeXuDvO8nwjUlqCBHhJ0NDvuYN7OSXvapjoqvgA2wFEmfW%2B4%2BY%2Fht3T4Xv45%2B7IILNhTa3slhTnAG5NqLfenMBUG01h9024xcDB5DNTCtOX86pBsEW9cZU4GfDZGHJstMhLX6S2lB8i49KL6BptqHZ1pFYylEIgg45fszqhR5L6wNqFk45mlraMTU8e0CnG50EVZAGIJbCxXElgpJX%2BkxBlSr9q0eJ%2Fy22lGOUc00ArwDgYhKI5qqDAXcbZQMij5GLiPkuFDsLIVogKGwc0Bq8moiP2fPufeT2X3nTwfL%2FFlbc0ayBGg4iDrDU3m4qUxa1XDyRbE%3D

    מיטב הברכות

    https://learn-attachment.microsoft.com/api/attachments/65862712-6256-4c05-b1a5-bfb2d3729eff?platform=QnA&fud_access=hC1SxZhn7m%2FZQJkOIiOVstu10yTQgXS4A%2FDBzZTg8nbaCgIogkrcDydMeI5Y4za2dOqDdWtsG2JNS3E35V60i9TiGHR7STMpJHheeXuDvO8nwjUlqCBHhJ0NDvuYN7OSXvapjoqvgA2wFEmfW%2B4%2BY%2Fht3T4Xv45%2B7IILNhTa3slhTnAG5NqLfenMBUG01h9024xcDB5DNTCtOX86pBsEW9cZU4GfDZGHJstMhLX6S2lB8i49KL6BptqHZ1pFYylEIgg45fszqhR5L6wNqFk45mlraMTU8e0CnG50EVZAGIJbCxXElgpJX%2BkxBlSr9q0eJ%2Fy22lGOUc00ArwDgYhKI5qqDAXcbZQMij5GLiPkuFDsLIVogKGwc0Bq8moiP2fPufeT2X3nTwfL%2FFlbc0ayBGg4iDrDU3m4qUxa1XDyRbE%3D

    לוסיה וו - MSFT | מומחה תמיכה קהילתית של Microsoft

    האם התשובה הזו הייתה מועילה?

    0 הערות אין הערות