הסבר | פתרון לשגיאה של מילים או פסקאות כפולות בוורד
-
אחת מהשגיאות הנפוצות בהקלדה היא כתיבת מילה מילה כפולה, וגם הרבה מאוד פעמים גם גם אחרי הגהה גם מומחים מפספסים אותה ולא מוצאים את את זה (ההסבר המדעי הוא כי המוח נוטה "לתקן" את הקריאה באופן אוטומטי), ומצאתי על זה פיתרון קל מאוד דרך נוסחה פשוטה בחיפוש הרגיל של וורד.
פשוט פותחים את חלונית החיפוש וההחלפה (Ctrl + H), מסמנים את האפשרות "השתמש בתווים כלליים", ומדביקים בשורת החיפוש את הקוד הבא:
(<*>) \1
בלחיצה על חפש את הבא וורד יסרוק את המסמך ויקפוץ ישירות לכל מקום שבו יש מילה שחוזרת על עצמה.
מי שרוצה אפשר גם על ידי מאקרו שעושה את זה, יש שני אפשרויות, אחד שצובע כל המילים הכפולות בצהוב, ואחד שפשוט מחפש את המופע הבא של מילים כפולות.
דרך אגב יש כאן גם מאקרו שמחפש פיסקאות כפולות זהות אחת ליד השניה.Sub חיפוש_מילים_כפולות_וצביעתן_בצהוב() Dim rng As Range Set rng = ActiveDocument.Content With rng.Find .ClearFormatting .Text = "(<*>) \1" .MatchWildcards = True .Forward = True .Wrap = wdFindStop ' לולאה שעוברת על כל המילים הכפולות ומסמנת אותן בצהוב Do While .Execute rng.HighlightColorIndex = wdYellow rng.Collapse wdCollapseEnd Loop End With MsgBox "החיפוש הסתיים! כל המילים הכפולות סומנו בצהוב.", vbInformation, "סיום בדיקה" End Sub Sub חיפוש_מילים_כפולות() Dim rng As Range Set rng = Selection.Range ' הגדרת החיפוש להתחלה ממיקום הסמן הנוכחי והלאה rng.Collapse wdCollapseEnd Set rng = ActiveDocument.Range(rng.End, ActiveDocument.Content.End) With rng.Find .ClearFormatting .Text = "(<*>) \1" .MatchWildcards = True .Forward = True .Wrap = wdFindStop ' אם נמצא צמד מילים כפולות, המאקרו יבחר (יסמן) אותו ויעצור If .Execute Then rng.Select Else MsgBox "לא נמצאו מילים כפולות נוספות בהמשך המסמך.", vbInformation, "חיפוש הסתיים" End If End With End Sub Sub חיפוש_פסקאות_כפולות_וצביעתן_באדום() Dim i As Long Dim doc As Document Set doc = ActiveDocument ' כיבוי עדכון מסך לביצועים מהירים בקבצים גדולים Application.ScreenUpdating = False ' מעבר על הפסקאות מהסוף להתחלה (בטוח יותר ללולאות מסוג זה) For i = doc.Paragraphs.Count To 2 Step -1 ' השוואת הטקסט של הפסקה הנוכחית לפסקה שלפניה (ללא רווחים מיותרים בסוף) If Trim(doc.Paragraphs(i).Range.Text) = Trim(doc.Paragraphs(i - 1).Range.Text) Then ' אם הן זהות, צביעת הפסקה השנייה באדום doc.Paragraphs(i).Range.Font.ColorIndex = wdRed End If Next i Application.ScreenUpdating = True MsgBox "הסריקה הסתיימה! פסקאות כפולות וזהות נצבעו באדום.", vbInformation End Sub Sub חיפוש_פסקאות_כפולות() Dim doc As Document Dim currentPara As Long Dim totalParas As Long Dim found As Boolean Set doc = ActiveDocument totalParas = doc.Paragraphs.Count found = False ' זיהוי מספר הפסקה שבה הסמן נמצא כרגע currentPara = doc.Range(0, Selection.Start).Paragraphs.Count If currentPara = 0 Then currentPara = 1 ' לולאה שרצה מהפסקה הנוכחית ועד סוף המסמך Dim i As Long For i = currentPara + 1 To totalParas ' השוואת הפסקה הנוכחית לפסקה שלפניה If Trim(doc.Paragraphs(i).Range.Text) = Trim(doc.Paragraphs(i - 1).Range.Text) Then ' אם נמצאה כפילות, בחר את הפסקה ועצור doc.Paragraphs(i).Range.Select found = True Exit For End If Next i ' הודעה במידה ולא נמצאו פסקאות כפולות נוספות בהמשך המסמך If Not found Then MsgBox "לא נמצאו פסקאות כפולות נוספות בהמשך המסמך.", vbInformation, "חיפוש הסתיים" End If End Sub -
אחת מהשגיאות הנפוצות בהקלדה היא כתיבת מילה מילה כפולה, וגם הרבה מאוד פעמים גם גם אחרי הגהה גם מומחים מפספסים אותה ולא מוצאים את את זה (ההסבר המדעי הוא כי המוח נוטה "לתקן" את הקריאה באופן אוטומטי), ומצאתי על זה פיתרון קל מאוד דרך נוסחה פשוטה בחיפוש הרגיל של וורד.
פשוט פותחים את חלונית החיפוש וההחלפה (Ctrl + H), מסמנים את האפשרות "השתמש בתווים כלליים", ומדביקים בשורת החיפוש את הקוד הבא:
(<*>) \1
בלחיצה על חפש את הבא וורד יסרוק את המסמך ויקפוץ ישירות לכל מקום שבו יש מילה שחוזרת על עצמה.
מי שרוצה אפשר גם על ידי מאקרו שעושה את זה, יש שני אפשרויות, אחד שצובע כל המילים הכפולות בצהוב, ואחד שפשוט מחפש את המופע הבא של מילים כפולות.
דרך אגב יש כאן גם מאקרו שמחפש פיסקאות כפולות זהות אחת ליד השניה.Sub חיפוש_מילים_כפולות_וצביעתן_בצהוב() Dim rng As Range Set rng = ActiveDocument.Content With rng.Find .ClearFormatting .Text = "(<*>) \1" .MatchWildcards = True .Forward = True .Wrap = wdFindStop ' לולאה שעוברת על כל המילים הכפולות ומסמנת אותן בצהוב Do While .Execute rng.HighlightColorIndex = wdYellow rng.Collapse wdCollapseEnd Loop End With MsgBox "החיפוש הסתיים! כל המילים הכפולות סומנו בצהוב.", vbInformation, "סיום בדיקה" End Sub Sub חיפוש_מילים_כפולות() Dim rng As Range Set rng = Selection.Range ' הגדרת החיפוש להתחלה ממיקום הסמן הנוכחי והלאה rng.Collapse wdCollapseEnd Set rng = ActiveDocument.Range(rng.End, ActiveDocument.Content.End) With rng.Find .ClearFormatting .Text = "(<*>) \1" .MatchWildcards = True .Forward = True .Wrap = wdFindStop ' אם נמצא צמד מילים כפולות, המאקרו יבחר (יסמן) אותו ויעצור If .Execute Then rng.Select Else MsgBox "לא נמצאו מילים כפולות נוספות בהמשך המסמך.", vbInformation, "חיפוש הסתיים" End If End With End Sub Sub חיפוש_פסקאות_כפולות_וצביעתן_באדום() Dim i As Long Dim doc As Document Set doc = ActiveDocument ' כיבוי עדכון מסך לביצועים מהירים בקבצים גדולים Application.ScreenUpdating = False ' מעבר על הפסקאות מהסוף להתחלה (בטוח יותר ללולאות מסוג זה) For i = doc.Paragraphs.Count To 2 Step -1 ' השוואת הטקסט של הפסקה הנוכחית לפסקה שלפניה (ללא רווחים מיותרים בסוף) If Trim(doc.Paragraphs(i).Range.Text) = Trim(doc.Paragraphs(i - 1).Range.Text) Then ' אם הן זהות, צביעת הפסקה השנייה באדום doc.Paragraphs(i).Range.Font.ColorIndex = wdRed End If Next i Application.ScreenUpdating = True MsgBox "הסריקה הסתיימה! פסקאות כפולות וזהות נצבעו באדום.", vbInformation End Sub Sub חיפוש_פסקאות_כפולות() Dim doc As Document Dim currentPara As Long Dim totalParas As Long Dim found As Boolean Set doc = ActiveDocument totalParas = doc.Paragraphs.Count found = False ' זיהוי מספר הפסקה שבה הסמן נמצא כרגע currentPara = doc.Range(0, Selection.Start).Paragraphs.Count If currentPara = 0 Then currentPara = 1 ' לולאה שרצה מהפסקה הנוכחית ועד סוף המסמך Dim i As Long For i = currentPara + 1 To totalParas ' השוואת הפסקה הנוכחית לפסקה שלפניה If Trim(doc.Paragraphs(i).Range.Text) = Trim(doc.Paragraphs(i - 1).Range.Text) Then ' אם נמצאה כפילות, בחר את הפסקה ועצור doc.Paragraphs(i).Range.Select found = True Exit For End If Next i ' הודעה במידה ולא נמצאו פסקאות כפולות נוספות בהמשך המסמך If Not found Then MsgBox "לא נמצאו פסקאות כפולות נוספות בהמשך המסמך.", vbInformation, "חיפוש הסתיים" End If End Subאחת מהשגיאות הנפוצות בהקלדה היא כתיבת מילה מילה כפולה, וגם הרבה מאוד פעמים גם גם אחרי הגהה גם מומחים מפספסים אותה ולא מוצאים את את זה (ההסבר המדעי הוא כי המוח נוטה "לתקן" את הקריאה באופן אוטומטי), ומצאתי על זה פיתרון קל מאוד דרך נוסחה פשוטה בחיפוש הרגיל של וורד.
אתה בודק אותנו כמה פעמים כתבת מילה כפולה, או שהמאקרו לא באמת עובד?



שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות