דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. תוכנות
  3. יישומי אופיס
  4. אקסל
  5. VBA - excel
  6. עזרה הדדית - VBA excel
  7. שיתוף | יישור טורים מאקרו חדש!!!

שיתוף | יישור טורים מאקרו חדש!!!

מתוזמן נעוץ נעול הועבר עזרה הדדית - VBA excel
61 פוסטים 16 כותבים 2.7k צפיות 18 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ר רפרם ב"ר פפא

    לאחר טיפול במאקרו הנני להציע לפני הציבור
    את העדכון למאקרו להחלת יישור על כל המסמך
    אשמח להערות הארות וכו'
    להלן הקובץ עדכנתי גם בפוסט הראשון
    ‏‏יישור טורים2.dotm
    וכן הקוד ליישור לכל המסמך

    Dim WRange, Endcol1, Startcol1, Endcol2, Startcol2, Rcol1, Rcol2 As Range
    Dim NumLines, WPage, Pcol1, Pcol2, APcol, PPS, a, i, B, C, P, S, G, col1, col2, Acol, Ignore As Double
    
    Public Sub יישור_טורים_בכל_המסמך_חדש()
    'עדכון מסך שקר
    Application.ScreenUpdating = False
    
    'תחילה בסוף מסמך מוסיף תו כטור 1
    Selection.WholeStory
    Set Whole = Selection.Range
    Whole.SetRange Start:=Whole.End, End:=Whole.End
    Whole.Select
    If Selection.PageSetup.TextColumns.Count = 2 Then
     ActiveDocument.Range(Start:=Selection.Start, End:=Selection.Start). _
            InsertBreak Type:=wdSectionBreakContinuous
        Selection.Start = Selection.Start + 1
    ActiveDocument.Range(Start:=Selection.End, End:=Selection.End).InsertBreak _
             Type:=wdSectionBreakContinuous
        With Selection.PageSetup.TextColumns
            .SetCount NumColumns:=1
            .EvenlySpaced = True
            .LineBetween = False
        End With
            Else
        End If
        'עובר לפסקה ראשונה
        ActiveDocument.Paragraphs(1).Range.Select
        'נכנס לללואה על כל המסמך
    Dim oPara As Paragraph
        For Each oPara In ActiveDocument.Paragraphs
    'בודק אם יש שני טורים
    If Selection.PageSetup.TextColumns.Count <> 2 Then
            Selection.MoveDown wdParagraph, 1
            Else
    Application.Run MacroName:="עורך_טורים"
        End If
          Next oPara
          
       Application.ScreenUpdating = True
    End Sub
    
    Public Sub עורך_טורים()
    'עדכון מסך שקר
    Application.ScreenUpdating = False
    Dim WRange, Endcol2, Startcol1, Rcol1, Rcol2 As Range
    Dim NumLines, WPage, Pcol1, Pcol2, APcol, PPS, a, i, B, C, P, S, col1, col2, Acol, Ignore As Double
    
    'שומר תחילת שורה של מיקום נוכחי
    Selection.HomeKey Unit:=wdLine
    Set My = Selection.Range
    'תחילת עמוד
    Set WRange = ActiveDocument.Bookmarks("\page").Range
    WRange.SetRange Start:=WRange.Start, End:=WRange.Start + 1
    WRange.Select
    Set Startpage = Selection.Range
    WRange.SetRange Start:=Startpage.End, End:=My.End
    'סופר שורות
    WRange.Select
    SLines = Selection.Range.ComputeStatistics(wdStatisticLines)
    'חוזר ומפעיל לולאת בדיקה שאין כותרת'
    My.Select
    'Startcol1 מגדיר תחילת טור 1
    Set Startcol1 = Selection.Range
    For S = 1 To SLines - 1
        Selection.GoTo What:=wdGoToLine, Which:=wdGoToPrevious, Count:=1, Name:=""
         If Selection.PageSetup.TextColumns.Count <> 2 Then
            Exit For
        Else
            Set Startcol1 = Selection.Range
        End If
    Next
    'סוף עמוד
    Set WRange = ActiveDocument.Bookmarks("\page").Range
    WRange.SetRange Start:=WRange.End - 1, End:=WRange.End
    WRange.Select
    Set Endpage = Selection.Range
    WRange.SetRange Start:=My.Start, End:=Endpage.End
    'סופר שורות
    WRange.Select
    ELines = Selection.Range.ComputeStatistics(wdStatisticLines)
    My.Select
    'Endcol2מגדיר סוף טור 2
    Set Endcol2 = Selection.Range
    For S = 1 To ELines - 1
        Selection.GoTo What:=wdGoToLine, Which:=wdGoToNext, Count:=1, Name:=""
         If Selection.PageSetup.TextColumns.Count <> 2 Then
            Exit For
        Else
            Set Endcol2 = Selection.Range
        End If
    Next
    
    'מספר שורות כולל שני טורים
    Set WRange = Selection.Range
    WRange.SetRange Start:=Startcol1.End, End:=Endcol2.End
    WRange.Select
    NumLines = Selection.Range.ComputeStatistics(wdStatisticLines)
    ' - col2 מגדיר גובה טור 2
    Endcol2.Select
    col2 = Endcol2.Information(wdVerticalPositionRelativeToPage)
    Selection.EndKey Unit:=wdLine
    Set Endcol2 = Selection.Range
    
    
    '  col1מגדיר גובה טור -1
    'Endcol1- סוף טור 1
    'Startcol2- תחילת טור2
    
    Startcol1.Select
    For i = 1 To NumLines
        Selection.GoTo What:=wdGoToLine, Which:=wdGoToNext, Count:=1, Name:=""
       If col1 > Selection.Information(wdVerticalPositionRelativeToPage) Then
      Set Startcol2 = Selection.Range
            Exit For
        Else
            col1 = Selection.Information(wdVerticalPositionRelativeToPage)
           Set Endcol1 = Selection.Range
        End If
        
    Next
    'סוף טור 1 = סוף שורה
    Endcol1.Select
    Selection.EndKey Unit:=wdLine
    Set Endcol1 = Selection.Range
    
    'Acol מגדיר הפרש בין טורים
            If col1 > col2 Then Acol = col1 - col2
            If col1 < col2 Then Acol = col2 - col1
        
        'בודק אם טורים ישרים
    
      If Acol < 0.05 Then
      'עובר לעמודה הבאה
      Endcol2.Select
         Selection.MoveDown wdParagraph, 1
       Else
        
    'Pcol1 - מספר פסקאות טור 1
        WRange.SetRange Start:=Startcol1.Start, End:=Endcol1.End - 2
        WRange.Select
       Set Rcol1 = Selection.Range
         Rcol1.Select
      Pcol1 = (Rcol1.ComputeStatistics(wdStatisticParagraphs))
    
    'Pcol2 - מספר פסקאות טור 2
        WRange.SetRange Start:=Startcol2.Start, End:=Endcol2.End - 2
        WRange.Select
        Set Rcol2 = Selection.Range
         Rcol2.Select
       Pcol2 = (Rcol2.ComputeStatistics(wdStatisticParagraphs))
    'טור מרובה פסקאות
    If Pcol1 > Pcol2 Then
    'עורך טור1
      
    ' PPS - מחלק הפרש בין פסקאות
        PPS = Acol / Pcol1
     'עבור לשורה ראשונה בטור
      Startcol1.Select
      'מפעיל פקודת תיקון בלולאה *מס' פסקאות
        For P = 1 To Pcol1
    'אם
     If col1 > col2 Then
    'מקטין רווח אחרי פסקה
          With Selection
           For B = 1 To .Paragraphs.Count
          .Paragraphs(B).Format.SpaceAfter = .Paragraphs(B).Format.SpaceAfter - PPS
           Next B
          End With
      'עבור לפסקה הבאה
         Selection.MoveDown wdParagraph, 1
    ElseIf col1 < col2 Then
    'מוסיף רווח אחרי פסקה
         With Selection
        For B = 1 To .Paragraphs.Count
        .Paragraphs(B).Format.SpaceAfter = .Paragraphs(B).Format.SpaceAfter + PPS
        Next B
         End With
      'עבור לפסקה הבאה
         Selection.MoveDown wdParagraph, 1
        End If
        Next P
          'עובר לעמודה הבאה
      Endcol2.Select
         Selection.MoveDown wdParagraph, 1
    
        
    ElseIf Pcol2 > Pcol1 Then
     'עורך טור 2
    
    'מחלק הפרש בין פסקאות
        
        PPS = Acol / Pcol2
        'עבור לשורה ראשונה בטור 2
            Startcol2.Select
      'מפעיל פקודת תיקון בלולאה *מס' פסקאות
        For P = 1 To Pcol2
    
        If col1 > col2 Then
    'מוסיף רווח אחרי פסקה
         With Selection
        For B = 1 To .Paragraphs.Count
        .Paragraphs(B).Format.SpaceAfter = .Paragraphs(B).Format.SpaceAfter + PPS
        Next B
      End With
      'עבור לפסקה הבאה
      Selection.MoveDown wdParagraph, 1
       ElseIf col2 > 0 Then
    'מקטין רווח אחרי פסקה
      With Selection
        For B = 1 To .Paragraphs.Count
        .Paragraphs(B).Format.SpaceAfter = .Paragraphs(B).Format.SpaceAfter - PPS
        Next B
      End With
      'עבור לפסקה הבאה
      Selection.MoveDown wdParagraph, 1
       
       End If
        Next P
          'עובר לעמודה הבאה
      Endcol2.Select
         Selection.MoveDown wdParagraph, 1
    
       Else
         'עובר לעמודה הבאה
      Endcol2.Select
         Selection.MoveDown wdParagraph, 1
    
       End If
       End If
       Application.ScreenUpdating = True
    End Sub
    
    
    
    
    

    בהצלחה

    מ מנותק
    מ מנותק
    מאקרו
    כתב ב נערך לאחרונה על ידי
    #10

    @רפרם-ב-ר-פפא כתב בשיתוף | יישור טורים מאקרו חדש!!!:

    Whole.SetRange Start:=Whole.End, End:=Whole.End
    Whole.Select
    If Selection.PageSetup.TextColumns.Count = 2 Then
    ActiveDocument.Range(Start:=Selection.Start, End:=Selection.Start). _
    InsertBreak Type:=wdSectionBreakContinuous
    Selection.Start = Selection.Start + 1
    ActiveDocument.Range(Start:=Selection.End, End:=Selection.End).InsertBreak _
    Type:=wdSectionBreakContinuous
    With Selection.PageSetup.TextColumns
    .SetCount NumColumns:=1
    .EvenlySpaced = True
    .LineBetween = False
    End With

    כדאי להוסיף בדיקה האם יש כבר מעבר מקטע.

    ר תגובה 1 תגובה אחרונה
    0
    • מ מאקרו

      @רפרם-ב-ר-פפא כתב בשיתוף | יישור טורים מאקרו חדש!!!:

      Whole.SetRange Start:=Whole.End, End:=Whole.End
      Whole.Select
      If Selection.PageSetup.TextColumns.Count = 2 Then
      ActiveDocument.Range(Start:=Selection.Start, End:=Selection.Start). _
      InsertBreak Type:=wdSectionBreakContinuous
      Selection.Start = Selection.Start + 1
      ActiveDocument.Range(Start:=Selection.End, End:=Selection.End).InsertBreak _
      Type:=wdSectionBreakContinuous
      With Selection.PageSetup.TextColumns
      .SetCount NumColumns:=1
      .EvenlySpaced = True
      .LineBetween = False
      End With

      כדאי להוסיף בדיקה האם יש כבר מעבר מקטע.

      ר מנותק
      ר מנותק
      רפרם ב"ר פפא
      כתב ב נערך לאחרונה על ידי רפרם ב"ר פפא
      #11

      @מאקרו
      עשיתי בדיקה בשאלה אם הוא עדיין שני טורים אז עשה מעבר מקטע
      אחרת ללא פעולה
      כדלהלן

      If Selection.PageSetup.TextColumns.Count = 2 Then
      

      תודה ואם יש לך עצה אחרת בשביל הענין האמור או אחר אשמח לשמוע

      מ תגובה 1 תגובה אחרונה
      0
      • ר רפרם ב"ר פפא

        @מאקרו
        עשיתי בדיקה בשאלה אם הוא עדיין שני טורים אז עשה מעבר מקטע
        אחרת ללא פעולה
        כדלהלן

        If Selection.PageSetup.TextColumns.Count = 2 Then
        

        תודה ואם יש לך עצה אחרת בשביל הענין האמור או אחר אשמח לשמוע

        מ מנותק
        מ מנותק
        מאקרו
        כתב ב נערך לאחרונה על ידי
        #12

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

        ר תגובה 1 תגובה אחרונה
        1
        • מ מאקרו

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

          ר מנותק
          ר מנותק
          רפרם ב"ר פפא
          כתב ב נערך לאחרונה על ידי
          #13

          @מאקרו
          איזה הרצת בדיקה אם יש מעבר מקטע אתה מציע?

          מ תגובה 1 תגובה אחרונה
          0
          • ר רפרם ב"ר פפא

            @מאקרו
            איזה הרצת בדיקה אם יש מעבר מקטע אתה מציע?

            מ מנותק
            מ מנותק
            מאקרו
            כתב ב נערך לאחרונה על ידי
            #14

            @רפרם-ב-ר-פפא אולי לעשות חיפוש של תו מעבר מקטע, יש הרבה רעיוות...

            תגובה 1 תגובה אחרונה
            0
            • ר רפרם ב"ר פפא

              לאחר טיפול במאקרו הנני להציע לפני הציבור
              את העדכון למאקרו להחלת יישור על כל המסמך
              אשמח להערות הארות וכו'
              להלן הקובץ עדכנתי גם בפוסט הראשון
              ‏‏יישור טורים2.dotm
              וכן הקוד ליישור לכל המסמך

              Dim WRange, Endcol1, Startcol1, Endcol2, Startcol2, Rcol1, Rcol2 As Range
              Dim NumLines, WPage, Pcol1, Pcol2, APcol, PPS, a, i, B, C, P, S, G, col1, col2, Acol, Ignore As Double
              
              Public Sub יישור_טורים_בכל_המסמך_חדש()
              'עדכון מסך שקר
              Application.ScreenUpdating = False
              
              'תחילה בסוף מסמך מוסיף תו כטור 1
              Selection.WholeStory
              Set Whole = Selection.Range
              Whole.SetRange Start:=Whole.End, End:=Whole.End
              Whole.Select
              If Selection.PageSetup.TextColumns.Count = 2 Then
               ActiveDocument.Range(Start:=Selection.Start, End:=Selection.Start). _
                      InsertBreak Type:=wdSectionBreakContinuous
                  Selection.Start = Selection.Start + 1
              ActiveDocument.Range(Start:=Selection.End, End:=Selection.End).InsertBreak _
                       Type:=wdSectionBreakContinuous
                  With Selection.PageSetup.TextColumns
                      .SetCount NumColumns:=1
                      .EvenlySpaced = True
                      .LineBetween = False
                  End With
                      Else
                  End If
                  'עובר לפסקה ראשונה
                  ActiveDocument.Paragraphs(1).Range.Select
                  'נכנס לללואה על כל המסמך
              Dim oPara As Paragraph
                  For Each oPara In ActiveDocument.Paragraphs
              'בודק אם יש שני טורים
              If Selection.PageSetup.TextColumns.Count <> 2 Then
                      Selection.MoveDown wdParagraph, 1
                      Else
              Application.Run MacroName:="עורך_טורים"
                  End If
                    Next oPara
                    
                 Application.ScreenUpdating = True
              End Sub
              
              Public Sub עורך_טורים()
              'עדכון מסך שקר
              Application.ScreenUpdating = False
              Dim WRange, Endcol2, Startcol1, Rcol1, Rcol2 As Range
              Dim NumLines, WPage, Pcol1, Pcol2, APcol, PPS, a, i, B, C, P, S, col1, col2, Acol, Ignore As Double
              
              'שומר תחילת שורה של מיקום נוכחי
              Selection.HomeKey Unit:=wdLine
              Set My = Selection.Range
              'תחילת עמוד
              Set WRange = ActiveDocument.Bookmarks("\page").Range
              WRange.SetRange Start:=WRange.Start, End:=WRange.Start + 1
              WRange.Select
              Set Startpage = Selection.Range
              WRange.SetRange Start:=Startpage.End, End:=My.End
              'סופר שורות
              WRange.Select
              SLines = Selection.Range.ComputeStatistics(wdStatisticLines)
              'חוזר ומפעיל לולאת בדיקה שאין כותרת'
              My.Select
              'Startcol1 מגדיר תחילת טור 1
              Set Startcol1 = Selection.Range
              For S = 1 To SLines - 1
                  Selection.GoTo What:=wdGoToLine, Which:=wdGoToPrevious, Count:=1, Name:=""
                   If Selection.PageSetup.TextColumns.Count <> 2 Then
                      Exit For
                  Else
                      Set Startcol1 = Selection.Range
                  End If
              Next
              'סוף עמוד
              Set WRange = ActiveDocument.Bookmarks("\page").Range
              WRange.SetRange Start:=WRange.End - 1, End:=WRange.End
              WRange.Select
              Set Endpage = Selection.Range
              WRange.SetRange Start:=My.Start, End:=Endpage.End
              'סופר שורות
              WRange.Select
              ELines = Selection.Range.ComputeStatistics(wdStatisticLines)
              My.Select
              'Endcol2מגדיר סוף טור 2
              Set Endcol2 = Selection.Range
              For S = 1 To ELines - 1
                  Selection.GoTo What:=wdGoToLine, Which:=wdGoToNext, Count:=1, Name:=""
                   If Selection.PageSetup.TextColumns.Count <> 2 Then
                      Exit For
                  Else
                      Set Endcol2 = Selection.Range
                  End If
              Next
              
              'מספר שורות כולל שני טורים
              Set WRange = Selection.Range
              WRange.SetRange Start:=Startcol1.End, End:=Endcol2.End
              WRange.Select
              NumLines = Selection.Range.ComputeStatistics(wdStatisticLines)
              ' - col2 מגדיר גובה טור 2
              Endcol2.Select
              col2 = Endcol2.Information(wdVerticalPositionRelativeToPage)
              Selection.EndKey Unit:=wdLine
              Set Endcol2 = Selection.Range
              
              
              '  col1מגדיר גובה טור -1
              'Endcol1- סוף טור 1
              'Startcol2- תחילת טור2
              
              Startcol1.Select
              For i = 1 To NumLines
                  Selection.GoTo What:=wdGoToLine, Which:=wdGoToNext, Count:=1, Name:=""
                 If col1 > Selection.Information(wdVerticalPositionRelativeToPage) Then
                Set Startcol2 = Selection.Range
                      Exit For
                  Else
                      col1 = Selection.Information(wdVerticalPositionRelativeToPage)
                     Set Endcol1 = Selection.Range
                  End If
                  
              Next
              'סוף טור 1 = סוף שורה
              Endcol1.Select
              Selection.EndKey Unit:=wdLine
              Set Endcol1 = Selection.Range
              
              'Acol מגדיר הפרש בין טורים
                      If col1 > col2 Then Acol = col1 - col2
                      If col1 < col2 Then Acol = col2 - col1
                  
                  'בודק אם טורים ישרים
              
                If Acol < 0.05 Then
                'עובר לעמודה הבאה
                Endcol2.Select
                   Selection.MoveDown wdParagraph, 1
                 Else
                  
              'Pcol1 - מספר פסקאות טור 1
                  WRange.SetRange Start:=Startcol1.Start, End:=Endcol1.End - 2
                  WRange.Select
                 Set Rcol1 = Selection.Range
                   Rcol1.Select
                Pcol1 = (Rcol1.ComputeStatistics(wdStatisticParagraphs))
              
              'Pcol2 - מספר פסקאות טור 2
                  WRange.SetRange Start:=Startcol2.Start, End:=Endcol2.End - 2
                  WRange.Select
                  Set Rcol2 = Selection.Range
                   Rcol2.Select
                 Pcol2 = (Rcol2.ComputeStatistics(wdStatisticParagraphs))
              'טור מרובה פסקאות
              If Pcol1 > Pcol2 Then
              'עורך טור1
                
              ' PPS - מחלק הפרש בין פסקאות
                  PPS = Acol / Pcol1
               'עבור לשורה ראשונה בטור
                Startcol1.Select
                'מפעיל פקודת תיקון בלולאה *מס' פסקאות
                  For P = 1 To Pcol1
              'אם
               If col1 > col2 Then
              'מקטין רווח אחרי פסקה
                    With Selection
                     For B = 1 To .Paragraphs.Count
                    .Paragraphs(B).Format.SpaceAfter = .Paragraphs(B).Format.SpaceAfter - PPS
                     Next B
                    End With
                'עבור לפסקה הבאה
                   Selection.MoveDown wdParagraph, 1
              ElseIf col1 < col2 Then
              'מוסיף רווח אחרי פסקה
                   With Selection
                  For B = 1 To .Paragraphs.Count
                  .Paragraphs(B).Format.SpaceAfter = .Paragraphs(B).Format.SpaceAfter + PPS
                  Next B
                   End With
                'עבור לפסקה הבאה
                   Selection.MoveDown wdParagraph, 1
                  End If
                  Next P
                    'עובר לעמודה הבאה
                Endcol2.Select
                   Selection.MoveDown wdParagraph, 1
              
                  
              ElseIf Pcol2 > Pcol1 Then
               'עורך טור 2
              
              'מחלק הפרש בין פסקאות
                  
                  PPS = Acol / Pcol2
                  'עבור לשורה ראשונה בטור 2
                      Startcol2.Select
                'מפעיל פקודת תיקון בלולאה *מס' פסקאות
                  For P = 1 To Pcol2
              
                  If col1 > col2 Then
              'מוסיף רווח אחרי פסקה
                   With Selection
                  For B = 1 To .Paragraphs.Count
                  .Paragraphs(B).Format.SpaceAfter = .Paragraphs(B).Format.SpaceAfter + PPS
                  Next B
                End With
                'עבור לפסקה הבאה
                Selection.MoveDown wdParagraph, 1
                 ElseIf col2 > 0 Then
              'מקטין רווח אחרי פסקה
                With Selection
                  For B = 1 To .Paragraphs.Count
                  .Paragraphs(B).Format.SpaceAfter = .Paragraphs(B).Format.SpaceAfter - PPS
                  Next B
                End With
                'עבור לפסקה הבאה
                Selection.MoveDown wdParagraph, 1
                 
                 End If
                  Next P
                    'עובר לעמודה הבאה
                Endcol2.Select
                   Selection.MoveDown wdParagraph, 1
              
                 Else
                   'עובר לעמודה הבאה
                Endcol2.Select
                   Selection.MoveDown wdParagraph, 1
              
                 End If
                 End If
                 Application.ScreenUpdating = True
              End Sub
              
              
              
              
              

              בהצלחה

              מ מנותק
              מ מנותק
              מאקרו
              כתב ב נערך לאחרונה על ידי מאקרו
              #15

              @רפרם-ב-ר-פפא כתב בשיתוף | יישור טורים מאקרו חדש!!!:

                  'נכנס לללואה על כל המסמך
               Dim oPara As Paragraph
                   For Each oPara In ActiveDocument.Paragraphs
              

              הייתי ממליץ להפעיל את הלולאה על האובייקט Breaks כדי לקצר את משך הלולאה שלא תעבור על כל פיסקה ופיסקה.

              תגובה 1 תגובה אחרונה
              1
              • ר רפרם ב"ר פפא

                לאחר טיפול במאקרו הנני להציע לפני הציבור
                את העדכון למאקרו להחלת יישור על כל המסמך
                אשמח להערות הארות וכו'
                להלן הקובץ עדכנתי גם בפוסט הראשון
                ‏‏יישור טורים2.dotm
                וכן הקוד ליישור לכל המסמך

                Dim WRange, Endcol1, Startcol1, Endcol2, Startcol2, Rcol1, Rcol2 As Range
                Dim NumLines, WPage, Pcol1, Pcol2, APcol, PPS, a, i, B, C, P, S, G, col1, col2, Acol, Ignore As Double
                
                Public Sub יישור_טורים_בכל_המסמך_חדש()
                'עדכון מסך שקר
                Application.ScreenUpdating = False
                
                'תחילה בסוף מסמך מוסיף תו כטור 1
                Selection.WholeStory
                Set Whole = Selection.Range
                Whole.SetRange Start:=Whole.End, End:=Whole.End
                Whole.Select
                If Selection.PageSetup.TextColumns.Count = 2 Then
                 ActiveDocument.Range(Start:=Selection.Start, End:=Selection.Start). _
                        InsertBreak Type:=wdSectionBreakContinuous
                    Selection.Start = Selection.Start + 1
                ActiveDocument.Range(Start:=Selection.End, End:=Selection.End).InsertBreak _
                         Type:=wdSectionBreakContinuous
                    With Selection.PageSetup.TextColumns
                        .SetCount NumColumns:=1
                        .EvenlySpaced = True
                        .LineBetween = False
                    End With
                        Else
                    End If
                    'עובר לפסקה ראשונה
                    ActiveDocument.Paragraphs(1).Range.Select
                    'נכנס לללואה על כל המסמך
                Dim oPara As Paragraph
                    For Each oPara In ActiveDocument.Paragraphs
                'בודק אם יש שני טורים
                If Selection.PageSetup.TextColumns.Count <> 2 Then
                        Selection.MoveDown wdParagraph, 1
                        Else
                Application.Run MacroName:="עורך_טורים"
                    End If
                      Next oPara
                      
                   Application.ScreenUpdating = True
                End Sub
                
                Public Sub עורך_טורים()
                'עדכון מסך שקר
                Application.ScreenUpdating = False
                Dim WRange, Endcol2, Startcol1, Rcol1, Rcol2 As Range
                Dim NumLines, WPage, Pcol1, Pcol2, APcol, PPS, a, i, B, C, P, S, col1, col2, Acol, Ignore As Double
                
                'שומר תחילת שורה של מיקום נוכחי
                Selection.HomeKey Unit:=wdLine
                Set My = Selection.Range
                'תחילת עמוד
                Set WRange = ActiveDocument.Bookmarks("\page").Range
                WRange.SetRange Start:=WRange.Start, End:=WRange.Start + 1
                WRange.Select
                Set Startpage = Selection.Range
                WRange.SetRange Start:=Startpage.End, End:=My.End
                'סופר שורות
                WRange.Select
                SLines = Selection.Range.ComputeStatistics(wdStatisticLines)
                'חוזר ומפעיל לולאת בדיקה שאין כותרת'
                My.Select
                'Startcol1 מגדיר תחילת טור 1
                Set Startcol1 = Selection.Range
                For S = 1 To SLines - 1
                    Selection.GoTo What:=wdGoToLine, Which:=wdGoToPrevious, Count:=1, Name:=""
                     If Selection.PageSetup.TextColumns.Count <> 2 Then
                        Exit For
                    Else
                        Set Startcol1 = Selection.Range
                    End If
                Next
                'סוף עמוד
                Set WRange = ActiveDocument.Bookmarks("\page").Range
                WRange.SetRange Start:=WRange.End - 1, End:=WRange.End
                WRange.Select
                Set Endpage = Selection.Range
                WRange.SetRange Start:=My.Start, End:=Endpage.End
                'סופר שורות
                WRange.Select
                ELines = Selection.Range.ComputeStatistics(wdStatisticLines)
                My.Select
                'Endcol2מגדיר סוף טור 2
                Set Endcol2 = Selection.Range
                For S = 1 To ELines - 1
                    Selection.GoTo What:=wdGoToLine, Which:=wdGoToNext, Count:=1, Name:=""
                     If Selection.PageSetup.TextColumns.Count <> 2 Then
                        Exit For
                    Else
                        Set Endcol2 = Selection.Range
                    End If
                Next
                
                'מספר שורות כולל שני טורים
                Set WRange = Selection.Range
                WRange.SetRange Start:=Startcol1.End, End:=Endcol2.End
                WRange.Select
                NumLines = Selection.Range.ComputeStatistics(wdStatisticLines)
                ' - col2 מגדיר גובה טור 2
                Endcol2.Select
                col2 = Endcol2.Information(wdVerticalPositionRelativeToPage)
                Selection.EndKey Unit:=wdLine
                Set Endcol2 = Selection.Range
                
                
                '  col1מגדיר גובה טור -1
                'Endcol1- סוף טור 1
                'Startcol2- תחילת טור2
                
                Startcol1.Select
                For i = 1 To NumLines
                    Selection.GoTo What:=wdGoToLine, Which:=wdGoToNext, Count:=1, Name:=""
                   If col1 > Selection.Information(wdVerticalPositionRelativeToPage) Then
                  Set Startcol2 = Selection.Range
                        Exit For
                    Else
                        col1 = Selection.Information(wdVerticalPositionRelativeToPage)
                       Set Endcol1 = Selection.Range
                    End If
                    
                Next
                'סוף טור 1 = סוף שורה
                Endcol1.Select
                Selection.EndKey Unit:=wdLine
                Set Endcol1 = Selection.Range
                
                'Acol מגדיר הפרש בין טורים
                        If col1 > col2 Then Acol = col1 - col2
                        If col1 < col2 Then Acol = col2 - col1
                    
                    'בודק אם טורים ישרים
                
                  If Acol < 0.05 Then
                  'עובר לעמודה הבאה
                  Endcol2.Select
                     Selection.MoveDown wdParagraph, 1
                   Else
                    
                'Pcol1 - מספר פסקאות טור 1
                    WRange.SetRange Start:=Startcol1.Start, End:=Endcol1.End - 2
                    WRange.Select
                   Set Rcol1 = Selection.Range
                     Rcol1.Select
                  Pcol1 = (Rcol1.ComputeStatistics(wdStatisticParagraphs))
                
                'Pcol2 - מספר פסקאות טור 2
                    WRange.SetRange Start:=Startcol2.Start, End:=Endcol2.End - 2
                    WRange.Select
                    Set Rcol2 = Selection.Range
                     Rcol2.Select
                   Pcol2 = (Rcol2.ComputeStatistics(wdStatisticParagraphs))
                'טור מרובה פסקאות
                If Pcol1 > Pcol2 Then
                'עורך טור1
                  
                ' PPS - מחלק הפרש בין פסקאות
                    PPS = Acol / Pcol1
                 'עבור לשורה ראשונה בטור
                  Startcol1.Select
                  'מפעיל פקודת תיקון בלולאה *מס' פסקאות
                    For P = 1 To Pcol1
                'אם
                 If col1 > col2 Then
                'מקטין רווח אחרי פסקה
                      With Selection
                       For B = 1 To .Paragraphs.Count
                      .Paragraphs(B).Format.SpaceAfter = .Paragraphs(B).Format.SpaceAfter - PPS
                       Next B
                      End With
                  'עבור לפסקה הבאה
                     Selection.MoveDown wdParagraph, 1
                ElseIf col1 < col2 Then
                'מוסיף רווח אחרי פסקה
                     With Selection
                    For B = 1 To .Paragraphs.Count
                    .Paragraphs(B).Format.SpaceAfter = .Paragraphs(B).Format.SpaceAfter + PPS
                    Next B
                     End With
                  'עבור לפסקה הבאה
                     Selection.MoveDown wdParagraph, 1
                    End If
                    Next P
                      'עובר לעמודה הבאה
                  Endcol2.Select
                     Selection.MoveDown wdParagraph, 1
                
                    
                ElseIf Pcol2 > Pcol1 Then
                 'עורך טור 2
                
                'מחלק הפרש בין פסקאות
                    
                    PPS = Acol / Pcol2
                    'עבור לשורה ראשונה בטור 2
                        Startcol2.Select
                  'מפעיל פקודת תיקון בלולאה *מס' פסקאות
                    For P = 1 To Pcol2
                
                    If col1 > col2 Then
                'מוסיף רווח אחרי פסקה
                     With Selection
                    For B = 1 To .Paragraphs.Count
                    .Paragraphs(B).Format.SpaceAfter = .Paragraphs(B).Format.SpaceAfter + PPS
                    Next B
                  End With
                  'עבור לפסקה הבאה
                  Selection.MoveDown wdParagraph, 1
                   ElseIf col2 > 0 Then
                'מקטין רווח אחרי פסקה
                  With Selection
                    For B = 1 To .Paragraphs.Count
                    .Paragraphs(B).Format.SpaceAfter = .Paragraphs(B).Format.SpaceAfter - PPS
                    Next B
                  End With
                  'עבור לפסקה הבאה
                  Selection.MoveDown wdParagraph, 1
                   
                   End If
                    Next P
                      'עובר לעמודה הבאה
                  Endcol2.Select
                     Selection.MoveDown wdParagraph, 1
                
                   Else
                     'עובר לעמודה הבאה
                  Endcol2.Select
                     Selection.MoveDown wdParagraph, 1
                
                   End If
                   End If
                   Application.ScreenUpdating = True
                End Sub
                
                
                
                
                

                בהצלחה

                א מנותק
                א מנותק
                א.מ.
                מדריכים
                כתב ב נערך לאחרונה על ידי
                #16

                @רפרם-ב-ר-פפא החלתי את המאקרו על פיסקה עם מסגרת (כבתמונה) וזה החזיר את שגיאה הבאה:

                b9dda539-0235-4dd6-96f1-18026c7ea31c-image.png
                eb93104c-db20-4142-97c0-5b6ddceb5086-image.png
                יש לך אולי דרך לסדר גם את זה?
                תזכו למצוות!

                ר ש 2 תגובות תגובה אחרונה
                0
                • א א.מ.

                  @רפרם-ב-ר-פפא החלתי את המאקרו על פיסקה עם מסגרת (כבתמונה) וזה החזיר את שגיאה הבאה:

                  b9dda539-0235-4dd6-96f1-18026c7ea31c-image.png
                  eb93104c-db20-4142-97c0-5b6ddceb5086-image.png
                  יש לך אולי דרך לסדר גם את זה?
                  תזכו למצוות!

                  ר מנותק
                  ר מנותק
                  רפרם ב"ר פפא
                  כתב ב נערך לאחרונה על ידי
                  #17

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

                  א תגובה 1 תגובה אחרונה
                  1
                  • א א.מ.

                    @רפרם-ב-ר-פפא החלתי את המאקרו על פיסקה עם מסגרת (כבתמונה) וזה החזיר את שגיאה הבאה:

                    b9dda539-0235-4dd6-96f1-18026c7ea31c-image.png
                    eb93104c-db20-4142-97c0-5b6ddceb5086-image.png
                    יש לך אולי דרך לסדר גם את זה?
                    תזכו למצוות!

                    ש מנותק
                    ש מנותק
                    שקוע בלימוד 0
                    כתב ב נערך לאחרונה על ידי
                    #18

                    @א-מ איך עשית את ה'צורת הדף'?

                    תגובה 1 תגובה אחרונה
                    0
                    • ר רפרם ב"ר פפא

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

                      א מנותק
                      א מנותק
                      א.מ.
                      מדריכים
                      כתב ב נערך לאחרונה על ידי
                      #19

                      @רפרם-ב-ר-פפא כתב בשיתוף | יישור טורים מאקרו חדש!!!:

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

                      יש שם שני טורים בעמוד, לא חשוב.
                      תודה בכל אופן.

                      @שקוע-בלימוד-0 כתב בשיתוף | יישור טורים מאקרו חדש!!!:

                      @א-מ איך עשית את ה'צורת הדף'?

                      עם "עזרים לוורד".

                      menajemmendelM תגובה 1 תגובה אחרונה
                      0
                      • ר רפרם ב"ר פפא

                        חדש! מאקרו ליישור טורים
                        והפעם בקוד פתוח לצורך שיפור המאקרו ע"י כל החברים
                        להערות הארות נא לדווח
                        וכן כל דבר שיכול לשפר את הפעולה
                        מצורף קובץ תבנית וורד אם אפשרות ליישור עמוד 1 או יישור כל המסמך
                        עדכון אדר תשפ"ג
                        יישור טורים 3.dotm

                        וכן הקוד שכתבתי

                        Public Sub יישור_טורים()
                        'בודק אם יש שני טורים
                        If Selection.PageSetup.TextColumns.Count <> 2 Then MsgBox ("לא נמצאו 2 טורים"): Exit Sub
                        'עדכון מסך שקר
                        Application.ScreenUpdating = False
                        Dim WRange, Endcol2, Startcol1, Rcol1, Rcol2 As Range
                        Dim NumLines, WPage, Pcol1, Pcol2, APcol, PPS, a, i, B, C, P, S, col1, col2, Acol, Ignore As Double
                        
                        'שומר תחילת שורה של מיקום נוכחי
                        Selection.HomeKey Unit:=wdLine
                        Set My = Selection.Range
                        'תחילת עמוד
                        Set WRange = ActiveDocument.Bookmarks("\page").Range
                        WRange.SetRange Start:=WRange.Start, End:=WRange.Start + 1
                        WRange.Select
                        Set Startpage = Selection.Range
                        WRange.SetRange Start:=Startpage.End, End:=My.End
                        'סופר שורות
                        WRange.Select
                        SLines = Selection.Range.ComputeStatistics(wdStatisticLines)
                        'חוזר ומפעיל לולאת בדיקה שאין כותרת'
                        My.Select
                        'Startcol1 מגדיר תחילת טור 1
                        For S = 1 To SLines - 1
                            Selection.GoTo What:=wdGoToLine, Which:=wdGoToPrevious, Count:=1, Name:=""
                             If Selection.PageSetup.TextColumns.Count <> 2 Then
                                Exit For
                            Else
                                Set Startcol1 = Selection.Range
                            End If
                        Next
                        'סוף עמוד
                        Set WRange = ActiveDocument.Bookmarks("\page").Range
                        WRange.SetRange Start:=WRange.End - 1, End:=WRange.End
                        WRange.Select
                        Set Endpage = Selection.Range
                        WRange.SetRange Start:=My.Start, End:=Endpage.End
                        'סופר שורות
                        WRange.Select
                        ELines = Selection.Range.ComputeStatistics(wdStatisticLines)
                        My.Select
                        'Endcol2 מגדיר סוף טור 2
                        For S = 1 To ELines - 1
                            Selection.GoTo What:=wdGoToLine, Which:=wdGoToNext, Count:=1, Name:=""
                             If Selection.PageSetup.TextColumns.Count <> 2 Then
                                Exit For
                            Else
                                Set Endcol2 = Selection.Range
                            End If
                        Next
                        
                        'מספר שורות כולל שני טורים
                        Set WRange = Selection.Range
                        WRange.SetRange Start:=Startcol1.End, End:=Endcol2.End
                        WRange.Select
                        NumLines = Selection.Range.ComputeStatistics(wdStatisticLines)
                        ' - col2 מגדיר גובה טור 2
                        Endcol2.Select
                        col2 = Endcol2.Information(wdVerticalPositionRelativeToPage)
                        Selection.EndKey Unit:=wdLine
                        Set Endcol2 = Selection.Range
                        
                        
                        '  col1מגדיר גובה טור -1
                        'Endcol1- סוף טור 1
                        'Startcol2- תחילת טור2
                        
                        Startcol1.Select
                        For i = 1 To NumLines
                            Selection.GoTo What:=wdGoToLine, Which:=wdGoToNext, Count:=1, Name:=""
                           If col1 > Selection.Information(wdVerticalPositionRelativeToPage) Then
                          Set Startcol2 = Selection.Range
                                Exit For
                            Else
                                col1 = Selection.Information(wdVerticalPositionRelativeToPage)
                               Set Endcol1 = Selection.Range
                            End If
                            
                        Next
                        'סוף טור 1 = סוף שורה
                        Endcol1.Select
                        Selection.EndKey Unit:=wdLine
                        Set Endcol1 = Selection.Range
                        
                        'Acol מגדיר הפרש בין טורים
                                If col1 > col2 Then Acol = col1 - col2
                                If col1 < col2 Then Acol = col2 - col1
                            
                            'בודק אם טורים ישרים
                        
                          If Acol < 0.05 Then
                            MsgBox "טורים ישרים"
                         'אם רווח גדול מידי מוסיף בסוף פסקה בטור 1
                           ElseIf Acol > 50 Then
                           Endcol2.Select
                         ActiveDocument.Range(Start:=Selection.Start, End:=Selection.Start). _
                                InsertBreak Type:=wdSectionBreakContinuous
                            Selection.Start = Selection.Start + 1
                        ActiveDocument.Range(Start:=Selection.End, End:=Selection.End).InsertBreak _
                                 Type:=wdSectionBreakContinuous
                            With Selection.PageSetup.TextColumns
                                .SetCount NumColumns:=1
                                .EvenlySpaced = True
                                .LineBetween = False
                            End With
                            
                           ElseIf Acol > 0.05 Then
                            
                        'Pcol1 - מספר פסקאות טור 1
                            WRange.SetRange Start:=Startcol1.Start, End:=Endcol1.End - 2
                            WRange.Select
                           Set Rcol1 = Selection.Range
                             Rcol1.Select
                          Pcol1 = (Rcol1.ComputeStatistics(wdStatisticParagraphs))
                        
                        'Pcol2 - מספר פסקאות טור 2
                            WRange.SetRange Start:=Startcol2.Start, End:=Endcol2.End - 2
                            WRange.Select
                            Set Rcol2 = Selection.Range
                             Rcol2.Select
                           Pcol2 = (Rcol2.ComputeStatistics(wdStatisticParagraphs))
                        'טור מרובה פסקאות
                        If Pcol1 > Pcol2 Then
                        'עורך טור1
                          
                        ' PPS - מחלק הפרש בין פסקאות
                            PPS = Acol / Pcol1
                         'עבור לשורה ראשונה בטור
                          Startcol1.Select
                          'מפעיל פקודת תיקון בלולאה *מס' פסקאות
                            For P = 1 To Pcol1
                        'אם
                         If col1 > col2 Then
                        'מקטין רווח אחרי פסקה
                              With Selection
                               For B = 1 To .Paragraphs.Count
                              .Paragraphs(B).Format.SpaceAfter = .Paragraphs(B).Format.SpaceAfter - PPS
                               Next B
                              End With
                          'עבור לפסקה הבאה
                             Selection.MoveDown wdParagraph, 1
                        ElseIf col1 < col2 Then
                        'מוסיף רווח אחרי פסקה
                             With Selection
                            For B = 1 To .Paragraphs.Count
                            .Paragraphs(B).Format.SpaceAfter = .Paragraphs(B).Format.SpaceAfter + PPS
                            Next B
                             End With
                          'עבור לפסקה הבאה
                             Selection.MoveDown wdParagraph, 1
                            End If
                            Next
                            
                        Else
                         'עורך טור 2
                        
                        'מחלק הפרש בין פסקאות
                            PPS = Acol / Pcol2
                            'עבור לשורה ראשונה בטור 2
                                Startcol2.Select
                          'מפעיל פקודת תיקון בלולאה *מס' פסקאות
                            For P = 1 To Pcol2
                        
                            If col1 > col2 Then
                        'מוסיף רווח אחרי פסקה
                             With Selection
                            For B = 1 To .Paragraphs.Count
                            .Paragraphs(B).Format.SpaceAfter = .Paragraphs(B).Format.SpaceAfter + PPS
                            Next B
                          End With
                          'עבור לפסקה הבאה
                          Selection.MoveDown wdParagraph, 1
                           ElseIf col1 < col2 Then
                        'מקטין רווח אחרי פסקה
                          With Selection
                            For B = 1 To .Paragraphs.Count
                            .Paragraphs(B).Format.SpaceAfter = .Paragraphs(B).Format.SpaceAfter - PPS
                            Next B
                          End With
                          'עבור לפסקה הבאה
                          Selection.MoveDown wdParagraph, 1
                           
                           End If
                            Next
                           End If
                           End If
                           Application.ScreenUpdating = True
                        End Sub
                        
                        P מנותק
                        P מנותק
                        pcinfogmach
                        מדריכים
                        כתב ב נערך לאחרונה על ידי
                        #20

                        @רפרם-ב-ר-פפא
                        קודם כל יישר כח על העזרה כזה דבר יכול לחסוך המון זמן לאנשים ויש לו ביקוש אדיר
                        ניסיתי את המאקרו וניתקלתי בשגיאה
                        מצו"ב
                        באג מאקרו יישור טורים.pdf
                        למעשה המאקרו גם לא הצליח כ"כ מצו"ב דוגמא
                        יישור טורים לא מוצלח.docm

                        ושוב תודה

                        גמ"ח עזרה וייעוץ בנושאי מחשבים

                        ר תגובה 1 תגובה אחרונה
                        0
                        • P pcinfogmach

                          @רפרם-ב-ר-פפא
                          קודם כל יישר כח על העזרה כזה דבר יכול לחסוך המון זמן לאנשים ויש לו ביקוש אדיר
                          ניסיתי את המאקרו וניתקלתי בשגיאה
                          מצו"ב
                          באג מאקרו יישור טורים.pdf
                          למעשה המאקרו גם לא הצליח כ"כ מצו"ב דוגמא
                          יישור טורים לא מוצלח.docm

                          ושוב תודה

                          ר מנותק
                          ר מנותק
                          רפרם ב"ר פפא
                          כתב ב נערך לאחרונה על ידי
                          #21

                          @pcinfogmach
                          מכיוון שיש במסמך שלך הרבה קטעים וממילא הרבה מעברי מקטע השינויים רבים יותר וההפרש גובה גדול יותר ולכן לאחר שמחשב את חלוקת היתרה בין טור אחד לשני ומחלק בין הקטעים לפעמים נוצר ששורה האחרונה עוברת לעמוד הבא ולהיפך
                          ובאמת צריך לתקן שיבדוק אם עובר את סך הנקודות של גובה שורה יחשב את זה ויתנהג בהתאם
                          אולי כשיהיה איתותי בידי אעשה משהו בעניין
                          על כל פנים בכמות קטעים ממוצעת בספר רגיל (אין בעיות בכאלו בדרך כלל לא נתקלתי)
                          בהצלחה

                          P תגובה 1 תגובה אחרונה
                          0
                          • ר רפרם ב"ר פפא

                            @pcinfogmach
                            מכיוון שיש במסמך שלך הרבה קטעים וממילא הרבה מעברי מקטע השינויים רבים יותר וההפרש גובה גדול יותר ולכן לאחר שמחשב את חלוקת היתרה בין טור אחד לשני ומחלק בין הקטעים לפעמים נוצר ששורה האחרונה עוברת לעמוד הבא ולהיפך
                            ובאמת צריך לתקן שיבדוק אם עובר את סך הנקודות של גובה שורה יחשב את זה ויתנהג בהתאם
                            אולי כשיהיה איתותי בידי אעשה משהו בעניין
                            על כל פנים בכמות קטעים ממוצעת בספר רגיל (אין בעיות בכאלו בדרך כלל לא נתקלתי)
                            בהצלחה

                            P מנותק
                            P מנותק
                            pcinfogmach
                            מדריכים
                            כתב ב נערך לאחרונה על ידי
                            #22

                            @רפרם-ב-ר-פפא
                            קודם כל תודה רבה שלקחת זמן לענות לי ניסיתי במסמך עם פחות מקטעים ועדיין לא הצליח כ"כ מצו"ב
                            דוגמא 2.docx

                            אגב מה עם הבאג?

                            תודה מראש
                            אברך אותך ואת זמנך היקר המוקדש לזיכוי הרבים שתזכה להרבה סייעתא דשמיא

                            גמ"ח עזרה וייעוץ בנושאי מחשבים

                            ר תגובה 1 תגובה אחרונה
                            0
                            • P pcinfogmach

                              @רפרם-ב-ר-פפא
                              קודם כל תודה רבה שלקחת זמן לענות לי ניסיתי במסמך עם פחות מקטעים ועדיין לא הצליח כ"כ מצו"ב
                              דוגמא 2.docx

                              אגב מה עם הבאג?

                              תודה מראש
                              אברך אותך ואת זמנך היקר המוקדש לזיכוי הרבים שתזכה להרבה סייעתא דשמיא

                              ר מנותק
                              ר מנותק
                              רפרם ב"ר פפא
                              כתב ב נערך לאחרונה על ידי
                              #23

                              @pcinfogmach
                              א. השינוי בין הטורים לא נובע מרווח בין פסקאות (הרווח שווה ל0) אלא משינוי גודל של חלק מן המילים
                              וכשיש רווח בין פסקאות אז יכול לשנות את הרווח לפי ההפרש בין טורים וממילא מתחייס לשינוי גודל אות וכשיש רווח 0 לא יכול לשנות כלל
                              ובעניין הבאג לא הבנתי על מה מדובר הקובץ שהעלית לא נפתח לי
                              בהצלחה

                              תגובה 1 תגובה אחרונה
                              0
                              • P מנותק
                                P מנותק
                                pcinfogmach
                                מדריכים
                                כתב ב נערך לאחרונה על ידי
                                #24

                                @רפרם-ב-ר-פפא
                                אה! יפה מאוד!
                                אז היישור טורים עובד רק אם אין כותרות...
                                הצורה לפתור את הבעיה של הכותרות היא על ידי הגדרת מרווח בין שורות (בהגדרות פיסקה) ל- מדוייק. אולי כדאי להוסיף את זה למאקרו.

                                בקשר לבאג מצו"ב: (תכל'ס המאקרו עובד גם עם הבאג רק קצת מעצבן שיש הודעת שגיאה:
                                d22c0bc9-8d5b-4b44-bd95-fa75a709c001-image.png
                                6be93ac6-f087-4aa0-96c0-9dc7381e125d-image.png

                                גמ"ח עזרה וייעוץ בנושאי מחשבים

                                ר תגובה 1 תגובה אחרונה
                                0
                                • P pcinfogmach

                                  @רפרם-ב-ר-פפא
                                  אה! יפה מאוד!
                                  אז היישור טורים עובד רק אם אין כותרות...
                                  הצורה לפתור את הבעיה של הכותרות היא על ידי הגדרת מרווח בין שורות (בהגדרות פיסקה) ל- מדוייק. אולי כדאי להוסיף את זה למאקרו.

                                  בקשר לבאג מצו"ב: (תכל'ס המאקרו עובד גם עם הבאג רק קצת מעצבן שיש הודעת שגיאה:
                                  d22c0bc9-8d5b-4b44-bd95-fa75a709c001-image.png
                                  6be93ac6-f087-4aa0-96c0-9dc7381e125d-image.png

                                  ר מנותק
                                  ר מנותק
                                  רפרם ב"ר פפא
                                  כתב ב נערך לאחרונה על ידי
                                  #25

                                  @pcinfogmach
                                  המאקרו עובד גם אם יש כותרות אלא כשאין מה לחלק הוא לא יכול לחלק ולהוסיף או להוריד כי מחשבן את המרוח בין פסקאות ומחלק ו0 שווה 0
                                  ובעניין הבאג הוא כיוון שלפעמים יש צורך בחלוקה מתחת ל0 (כגון שהמרווח בין פסקאות 10 וישנם שני פסקאות והפרש בין טורים 25 וכשמחלק להוריד 12.5 לכל מקטע נתקע שאינו יכול להיות פחות מ0
                                  ובדרך כלל לא מגיע לזה ועוד יש לי רעיון בעניין ובעז"ה אם יואיל למישהו אעשה כשיהיה איתותי בידי
                                  בהצלחה ובהנאה

                                  P תגובה 1 תגובה אחרונה
                                  0
                                  • ר רפרם ב"ר פפא

                                    @pcinfogmach
                                    המאקרו עובד גם אם יש כותרות אלא כשאין מה לחלק הוא לא יכול לחלק ולהוסיף או להוריד כי מחשבן את המרוח בין פסקאות ומחלק ו0 שווה 0
                                    ובעניין הבאג הוא כיוון שלפעמים יש צורך בחלוקה מתחת ל0 (כגון שהמרווח בין פסקאות 10 וישנם שני פסקאות והפרש בין טורים 25 וכשמחלק להוריד 12.5 לכל מקטע נתקע שאינו יכול להיות פחות מ0
                                    ובדרך כלל לא מגיע לזה ועוד יש לי רעיון בעניין ובעז"ה אם יואיל למישהו אעשה כשיהיה איתותי בידי
                                    בהצלחה ובהנאה

                                    P מנותק
                                    P מנותק
                                    pcinfogmach
                                    מדריכים
                                    כתב ב נערך לאחרונה על ידי
                                    #26

                                    @רפרם-ב-ר-פפא
                                    כן וודאי שהמאקרו עובד גם כשיש כותרות העיה היתה עם גודל שונה של מילים והפתרון כנ"ל על ידי רווח מדוייק שלא נותן למילים גדולות להשפיע על המסמך
                                    לכן המלצתי להוסיף למאקרו

                                    ושוב יישר כח על המאקרו הנפלא אתה לא יודע כמה זמן חסכת לי ולחברים רק חבל שלא ידעתי על זה עד עכשיו

                                    גמ"ח עזרה וייעוץ בנושאי מחשבים

                                    ר תגובה 1 תגובה אחרונה
                                    0
                                    • P pcinfogmach

                                      @רפרם-ב-ר-פפא
                                      כן וודאי שהמאקרו עובד גם כשיש כותרות העיה היתה עם גודל שונה של מילים והפתרון כנ"ל על ידי רווח מדוייק שלא נותן למילים גדולות להשפיע על המסמך
                                      לכן המלצתי להוסיף למאקרו

                                      ושוב יישר כח על המאקרו הנפלא אתה לא יודע כמה זמן חסכת לי ולחברים רק חבל שלא ידעתי על זה עד עכשיו

                                      ר מנותק
                                      ר מנותק
                                      רפרם ב"ר פפא
                                      כתב ב נערך לאחרונה על ידי
                                      #27

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

                                      P M 2 תגובות תגובה אחרונה
                                      1
                                      • ר רפרם ב"ר פפא

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

                                        P מנותק
                                        P מנותק
                                        pcinfogmach
                                        מדריכים
                                        כתב ב נערך לאחרונה על ידי
                                        #28

                                        @רפרם-ב-ר-פפא
                                        אלוף! ושוב תודה

                                        גמ"ח עזרה וייעוץ בנושאי מחשבים

                                        ר תגובה 1 תגובה אחרונה
                                        0
                                        • ר רפרם ב"ר פפא

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

                                          M מנותק
                                          M מנותק
                                          mfmf
                                          כתב ב נערך לאחרונה על ידי mfmf
                                          #29

                                          @רפרם-ב-ר-פפא
                                          תודה רבה על המאקרו הנפלא!
                                          מופיע לי גם כן השגיאה שהמרווח הוא 0
                                          יש אפשרות לשנות את זה במסמך עצמו? אני לא יודע איפה זה קורה פשוט..
                                          אין לי אינטרס שזה יהיה 0 או משהו...
                                          או לחילופין יש אפשרות שימשיך להריץ את המאקרו מהעמוד שבו הוא לא הצליח והלאה? זה פשוט מפסיק באחד העמודים הראשונים ומשם ואילך אני צריך לעבוד ידנית אחד אחד..

                                          ר תגובה 1 תגובה אחרונה
                                          0

                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • חוקי הפורום
                                          • פופולרי
                                          • לא נפתר
                                          • משתמשים
                                          • חיפוש גוגל בפורום
                                          • צור קשר