מאקרו לזיהוי מחזוריות
-
@מעלה-ומוריד בוודאי
סימנתי כמה וכמה דפוסים שכל אחד מהם בצבע אחר
כמובן שיש עוד אפשרויות רבות
אבל זאת דוגמא
Book22.xlsm -
@מעלה-ומוריד כתב במאקרו לזיהוי מחזוריות:
- על אלו נתונים מדובר 2. מה אתה רוצה לעשות בהם
- לדוגמא כל יום שיורד גשם מסמנים. ואז רוצים לראות האם ניתן לראות דפוס של גשמים.
- כשיזוהה דפוס ישתנה הצבע שלו וייתן הודעה שזוהה דפוס. או כל רעיון דומה
-
אני כותב את הקוד הבא והוא כותב לי שלא נמצא דפוס.
במה הטעות?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
-
@one1010
ראשית כל הקוד שאתה כותב תעטוף בשני שורות עם שלושה טילדות (~~~), ככהאבל בלי הגרשים:/~~~
code
/~~~שנית, השאלה שלך יפה וממש מעניינת הבעיה היא שאקסל כ"כ לא נח לטפל בבעיה הזו.
מילא אם הנתונים היו מסודרים בשורות, והסימונים היה ערך בעמודות שכנות, היה סדר נורמלי, אבל כפי שהבאת זה ממש מביא קוד מלוכלך שאין לו סיכוי להתפתח לאלגוריתם רציני. -
@dovid כתב במאקרו לזיהוי מחזוריות:
@one1010
ראשית כל הקוד שאתה כותב תעטוף בשני שורות עם שלושה טילדות (~~~), ככהאבל בלי הגרשים:/~~~
code
/~~~אתה מתכוון לתקן בקוד או כשאני מדביק כאן?
שנית, השאלה שלך יפה וממש מעניינת הבעיה היא שאקסל כ"כ לא נח לטפל בבעיה הזו.
מילא אם הנתונים היו מסודרים בשורות, והסימונים היה ערך בעמודות שכנות, היה סדר נורמלי, אבל כפי שהבאת זה ממש מביא קוד מלוכלך שאין לו סיכוי להתפתח לאלגוריתם רציני.כשאתה אומר הנתונים היו מסודרים בשורות אתה מתכוון כמו בקובץ הבא?חוברת1.xlsm
-
- כן, בשביל שיהיה מעוצב נח לקריאה.
- לא, אני מתכוון שכל שורה זה תאריך, ובמקום להסתמך על סימון עיצובי שיהיה מידע בעמודה שליד (B למשל) וכן בתוצאה שמסומן מחזוריות שזה ייכתב לעמודה שכנה (C).
אישית הייתי מעדיף לעבוד עם שפה מודרנית יותר מVBA לכזה אתגר, אבל אפשר לשרוד בנקודה הזו.
-
@dovid כתב במאקרו לזיהוי מחזוריות:
- כן, בשביל שיהיה מעוצב נח לקריאה.
אוקי
- לא, אני מתכוון שכל שורה זה תאריך, ובמקום להסתמך על סימון עיצובי שיהיה מידע בעמודה שליד (B למשל) וכן בתוצאה שמסומן מחזוריות שזה ייכתב לעמודה שכנה (C).
הבעיה היא שאז יהיה מאד מסובך לעבוד עם זה כי זה יהיה הרבה שורות.
אישית הייתי מעדיף לעבוד עם שפה מודרנית יותר מVBA לכזה אתגר, אבל אפשר לשרוד בנקודה הזו.
סליחה על הבורות, ניתן לעבוד עם שפות תכנות אחרות באקסל? או שאתה מתכוון לעבוד בכלל בצורה אחרת?
-
@dovid כתב במאקרו לזיהוי מחזוריות:
@one1010 מאה שנה זה רק 35 אלף שורות,
אקסל עובד עם הרבה יותר שורות בלי למצמץ.לא חסתי על האקסל אלא על שימוש נורמלי שלא כל פעם שצריך לשנות צריך לדפדף
התכוונתי לא להשתמש באקסל בכלל, אבל ניתן להשתמש בו גם עם שפות אחרות.
איזה שפות נוספות ניתנות לשימוש באקסל?
-
@one1010 כתב במאקרו לזיהוי מחזוריות:
אישית הייתי מעדיף לעבוד עם שפה מודרנית יותר מVBA לכזה אתגר, אבל אפשר לשרוד בנקודה הזו.
סליחה על הבורות, ניתן לעבוד עם שפות תכנות אחרות באקסל? או שאתה מתכוון לעבוד בכלל בצורה אחרת?
לצורך שלך, דווקא יצרתי באקסס, וזה די קל שם - לבסס הכל על שאילתות ועל פוקנציה ממירה מתאריך לועזי לעברי ולהיפך.
האתגר האמיתי הוא ההגדרות ההלכתיות והמחלוקות, לא התכנות, אבל אכמ"ל (חזקה עלי חוקי הפורום שאין לדון בנושאים תורניים, אם אתה רוצה להאריך בזה אפשר בפרטי אא"כ @dovid יאשר...)
אני מכיר מתכנת שבנה יפה מאוד ב C# במשך זמן ממושך של כמה חודשים / שנה, וכלל אפילו נימוקים הלכתיים בטקסט בתוכנה, ונראות וכו' וכו', אבל נתקע כנ"ל.
-
-
-
-