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

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. מאקרו לזיהוי מחזוריות

מאקרו לזיהוי מחזוריות

מתוזמן נעוץ נעול הועבר תכנות
24 פוסטים 4 כותבים 473 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • O מחובר
    O מחובר
    one1010
    השיב לdovid ב נערך לאחרונה על ידי one1010
    #3

    @dovid כתב במאקרו לזיהוי מחזוריות:

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

    אולי אני טועה במילה מחזוריות אבל זאת המילה שעלתה לי כשרציתי לתת לה כותרת. הרעיון הוא לראות דפוס מסויים שחוזר על עצמו. החזרה תהיה ב3 פעמים. ואין גבול לדפוס ספציפי כל עוד הוא חוזר על עצמו 3 פעמים ושהרווחים ביניהם שווים. [או משתנים בצורה שווה- כגון עליה של פער של יום בכל חודש וכדו']
    על פניו זה יחושב במרווח הימים בין כל צהוב לצהוב במקרה שהוא משתנה ועל תאריך מדוייק שחוזר על עצמו חודש אחר חודש.

    dovidD תגובה 1 תגובה אחרונה
    1
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      השיב לone1010 ב נערך לאחרונה על ידי dovid
      #4

      @one1010
      אני מבין שאתה רוצה לתפוס א) תאריכים זהים או ב) שונים אך בהפרש זהה, או ג) עם הפרש מדורג (למשל פער של 50,60,70 ימים).
      אבל לא הבנתי את זה:

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

      התאים בין צהוב לצהוב הם בדיוק הפער בין התאריכים בימים, כלומר יש תא שורה לכל יום?

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      O תגובה 1 תגובה אחרונה
      0
      • O מחובר
        O מחובר
        one1010
        השיב לdovid ב נערך לאחרונה על ידי one1010
        #5

        @dovid כתב במאקרו לזיהוי מחזוריות:

        @one1010
        אני מבין שאתה רוצה לתפוס א) תאריכים זהים או ב) שונים אך בהפרש זהה, או ג) עם הפרש מדורג (למשל פער של 50,60,70 ימים).

        ב. יכול גם להתפרש בהפרש זהה של ימים כלומר לדוגמא 25 יום בין פעם לפעם ויכול גם להתפרש הפרש זהה של תאריך כלומר 15 לחודש 16 לחודש ו17 לחודש
        ג. נכון,

        אבל לא הבנתי את זה:

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

        התאים בין צהוב לצהוב הם בדיוק הפער בין התאריכים בימים, כלומר יש תא שורה לכל יום?

        אני לא בטוח שהיה כאן אמור להיות אמירה עמוקה שלי. פשוט שאלת לפי מה זה יחושב אז עניתי לפי ההפרש בין צהוב לצהוב.

        אם כבר אתה שואל [...] האם זה מחוייב המציאות לתת דוגמא לכל דפוס או שVBA יכול להבין יותר מזה וליצור כמו אלגוריתם שימציא לבד דפוסים שחוזרים על עצמם?

        dovidD תגובה 1 תגובה אחרונה
        0
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          השיב לone1010 ב נערך לאחרונה על ידי dovid
          #6

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

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          O תגובה 1 תגובה אחרונה
          0
          • O מחובר
            O מחובר
            one1010
            השיב לdovid ב נערך לאחרונה על ידי
            #7

            @dovid כתב במאקרו לזיהוי מחזוריות:

            @one1010 לא אכפת לי אם ניסוחיך עמוקים,

            🤡

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

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

            ולגבי שאלתך האם צריך שלא יהיה ביניהם צהובים, בשלב ראשון כדי לראות שזה עובד אולי ננסה בלי צהובים בכלל באמצע.
            בשלב מתקדם יותר הייתי כן רוצה שיוכלו להיות כמה דפוסים חופפים כגון: 01.01 01.02 01.03 וגם 27.01 28.02 29.03 וכדו' ושיזוהו כדפוסים נפרדים.

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

              @one1010 הערה מהיציע: תשקול להעלות לכאן קובץ עם דוגמית שעליה ניתן יהיה לדון, נראה כאילו אנרגיה חשובה של אנשים שרוצים לעזור מתבזבזת על הנסיון להבין 1. על אלו נתונים מדובר 2. מה אתה רוצה לעשות בהם

              מנע בזבוז זמן, זכה את הרבים!

              O 2 תגובות תגובה אחרונה
              2
              • O מחובר
                O מחובר
                one1010
                השיב למעלה ומוריד ב נערך לאחרונה על ידי
                #9

                @מעלה-ומוריד בוודאי

                סימנתי כמה וכמה דפוסים שכל אחד מהם בצבע אחר
                כמובן שיש עוד אפשרויות רבות
                אבל זאת דוגמא
                Book22.xlsm

                תגובה 1 תגובה אחרונה
                2
                • O מחובר
                  O מחובר
                  one1010
                  השיב למעלה ומוריד ב נערך לאחרונה על ידי one1010
                  #10

                  @מעלה-ומוריד כתב במאקרו לזיהוי מחזוריות:

                  1. על אלו נתונים מדובר 2. מה אתה רוצה לעשות בהם
                  1. לדוגמא כל יום שיורד גשם מסמנים. ואז רוצים לראות האם ניתן לראות דפוס של גשמים.
                  2. כשיזוהה דפוס ישתנה הצבע שלו וייתן הודעה שזוהה דפוס. או כל רעיון דומה
                  O תגובה 1 תגובה אחרונה
                  1
                  • O מחובר
                    O מחובר
                    one1010
                    השיב לone1010 ב נערך לאחרונה על ידי one1010
                    #11

                    אני כותב את הקוד הבא והוא כותב לי שלא נמצא דפוס.
                    במה הטעות?

                    Sub FindYellowPattern()
                    Dim dataRange As Range
                    Dim yellowCells As Range
                    Dim cell As Range
                    Dim currentCell As Range
                    Dim i As Integer
                    Dim j As Integer
                    Dim k As Integer
                    Dim patternFound As Boolean
                    Dim minRepetition As Integer
                    Dim maxGap As Integer
                    Dim numRepetitions As Integer
                    Dim repetitionCount As Integer
                    Dim lastPatternRow As Integer
                    
                    
                    
                    ' Set data range
                    Set dataRange = Range("A1:AD12")
                    
                    ' Set pattern parameters
                    minRepetition = 1 ' Minimum number of repetitions
                    maxGap = 100 ' Maximum gap between repetitions
                    numRepetitions = 3 ' Number of repetitions required for a pattern
                    
                    ' Loop through each yellow cell
                    For Each yellowCells In dataRange.Areas
                        ' Loop through each cell in the area
                        For Each cell In yellowCells
                            ' Check if cell is yellow
                            If cell.Interior.Color = vbYellow Then
                                ' Check for pattern
                                For i = 1 To maxGap
                                    ' Check for repetition
                                    repetitionCount = 0
                                    Set currentCell = cell
                                    For j = 1 To numRepetitions
                                        Set currentCell = currentCell.Offset(0, i)
                                        ' Check if cell is yellow
                                        If currentCell.Interior.Color = vbYellow Then
                                            repetitionCount = repetitionCount + 1
                                            ' Check if current cell is end of pattern
                                            If j = numRepetitions And currentCell.Offset(0, i).Interior.Color <> vbYellow Then
                                                patternFound = True
                                            End If
                                        Else
                                            Exit For
                                        End If
                                    Next j
                                    ' If pattern found, exit loops
                                    If patternFound Then
                                        lastPatternRow = currentCell.Row
                                        Exit For
                                    End If
                                Next i
                                If patternFound Then Exit For
                            End If
                        Next cell
                        If patternFound Then Exit For
                    Next yellowCells
                    
                    ' Print last row with pattern
                    MsgBox "Last row with pattern: " & lastPatternRow
                    
                    End Sub
                    
                    
                    dovidD תגובה 1 תגובה אחרונה
                    0
                    • dovidD מנותק
                      dovidD מנותק
                      dovid ניהול
                      השיב לone1010 ב נערך לאחרונה על ידי
                      #12

                      @one1010
                      ראשית כל הקוד שאתה כותב תעטוף בשני שורות עם שלושה טילדות (~~~), ככהאבל בלי הגרשים:

                      /~~~
                      code
                      /~~~

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

                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                      O תגובה 1 תגובה אחרונה
                      1
                      • O מחובר
                        O מחובר
                        one1010
                        השיב לdovid ב נערך לאחרונה על ידי
                        #13

                        @dovid כתב במאקרו לזיהוי מחזוריות:

                        @one1010
                        ראשית כל הקוד שאתה כותב תעטוף בשני שורות עם שלושה טילדות (~~~), ככהאבל בלי הגרשים:

                        /~~~
                        code
                        /~~~

                        אתה מתכוון לתקן בקוד או כשאני מדביק כאן?

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

                        כשאתה אומר הנתונים היו מסודרים בשורות אתה מתכוון כמו בקובץ הבא?חוברת1.xlsm

                        dovidD תגובה 1 תגובה אחרונה
                        0
                        • dovidD מנותק
                          dovidD מנותק
                          dovid ניהול
                          השיב לone1010 ב נערך לאחרונה על ידי
                          #14

                          @one1010

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

                          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                          בכל נושא אפשר ליצור קשר dovid@tchumim.com

                          O תגובה 1 תגובה אחרונה
                          1
                          • O מחובר
                            O מחובר
                            one1010
                            השיב לdovid ב נערך לאחרונה על ידי
                            #15

                            @dovid כתב במאקרו לזיהוי מחזוריות:

                            @one1010

                            1. כן, בשביל שיהיה מעוצב נח לקריאה.

                            אוקי

                            1. לא, אני מתכוון שכל שורה זה תאריך, ובמקום להסתמך על סימון עיצובי שיהיה מידע בעמודה שליד (B למשל) וכן בתוצאה שמסומן מחזוריות שזה ייכתב לעמודה שכנה (C).

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

                            אישית הייתי מעדיף לעבוד עם שפה מודרנית יותר מVBA לכזה אתגר, אבל אפשר לשרוד בנקודה הזו.

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

                            dovidD Y.Excel.AccessY 2 תגובות תגובה אחרונה
                            0
                            • dovidD מנותק
                              dovidD מנותק
                              dovid ניהול
                              השיב לone1010 ב נערך לאחרונה על ידי
                              #16

                              @one1010 מאה שנה זה רק 35 אלף שורות,
                              אקסל עובד עם הרבה יותר שורות בלי למצמץ.

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

                              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                              בכל נושא אפשר ליצור קשר dovid@tchumim.com

                              O תגובה 1 תגובה אחרונה
                              0
                              • O מחובר
                                O מחובר
                                one1010
                                השיב לdovid ב נערך לאחרונה על ידי
                                #17

                                @dovid כתב במאקרו לזיהוי מחזוריות:

                                @one1010 מאה שנה זה רק 35 אלף שורות,
                                אקסל עובד עם הרבה יותר שורות בלי למצמץ.

                                לא חסתי על האקסל אלא על שימוש נורמלי שלא כל פעם שצריך לשנות צריך לדפדף

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

                                איזה שפות נוספות ניתנות לשימוש באקסל?

                                dovidD תגובה 1 תגובה אחרונה
                                0
                                • Y.Excel.AccessY מנותק
                                  Y.Excel.AccessY מנותק
                                  Y.Excel.Access
                                  השיב לone1010 ב נערך לאחרונה על ידי Y.Excel.Access
                                  #18

                                  @one1010 כתב במאקרו לזיהוי מחזוריות:

                                  אישית הייתי מעדיף לעבוד עם שפה מודרנית יותר מVBA לכזה אתגר, אבל אפשר לשרוד בנקודה הזו.

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

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

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

                                  אני מכיר מתכנת שבנה יפה מאוד ב C# במשך זמן ממושך של כמה חודשים / שנה, וכלל אפילו נימוקים הלכתיים בטקסט בתוכנה, ונראות וכו' וכו', אבל נתקע כנ"ל.

                                  Y.Excel.Access @ gmail.com

                                  O dovidD 2 תגובות תגובה אחרונה
                                  1
                                  • O מחובר
                                    O מחובר
                                    one1010
                                    השיב לY.Excel.Access ב נערך לאחרונה על ידי
                                    #19

                                    @Y-Excel-Access כתב במאקרו לזיהוי מחזוריות:

                                    דווקא יצרתי באקסס

                                    אוכל לקבל?

                                    Y.Excel.AccessY תגובה 1 תגובה אחרונה
                                    0
                                    • dovidD מנותק
                                      dovidD מנותק
                                      dovid ניהול
                                      השיב לone1010 ב נערך לאחרונה על ידי
                                      #20

                                      @one1010 כתב במאקרו לזיהוי מחזוריות:

                                      לא חסתי על האקסל אלא על שימוש נורמלי שלא כל פעם שצריך לשנות צריך לדפדף

                                      לא קשה לדפדף. זה גם נשאר תמיד פתוח איפה שהיית.

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

                                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                      תגובה 1 תגובה אחרונה
                                      0
                                      • dovidD מנותק
                                        dovidD מנותק
                                        dovid ניהול
                                        השיב לY.Excel.Access ב נערך לאחרונה על ידי
                                        #21

                                        @Y-Excel-Access כתב במאקרו לזיהוי מחזוריות:

                                        אכמ"ל

                                        בהחלט, אפילו תערוך מה שכתבת.

                                        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                        Y.Excel.AccessY תגובה 1 תגובה אחרונה
                                        2
                                        • Y.Excel.AccessY מנותק
                                          Y.Excel.AccessY מנותק
                                          Y.Excel.Access
                                          השיב לone1010 ב נערך לאחרונה על ידי
                                          #22

                                          @one1010 זה יהיה חלקי, כי נתקעתי 😞 אז לא המשכתי לפתח.
                                          אולי אצליח בהזדמנות לבודד את החלקים הפשוטים יותר.

                                          איך אפשר ליצור איתך קשר?

                                          Y.Excel.Access @ gmail.com

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

                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

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

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