תוכנה לסימון חזרות
-
האם אפשר ליצור מסמך כזה אלקטרוני, שיהיה אפשר למלאות את המשבצות בסימון v?
עדיף תיבת סימון יותר סימפטית כמו בהדרנא למשל...
ובקיצור אם אני מתמצת את השאלה, היא האם אפשר לעשות תיבת סימון באקסל ואם כן כיצד. @אוריי
המטרה שלי היא לעשות מסמך, שבו כמה עשרות גליונות, שבכל גליון יש עמוד פחות או יותר כזה ובראש המסמך יהיה סיכום של מה שנותר מהמסכת, וגליון מסכם לכלל מסכתות הש"ס.
-
אגב, אפשר גם בוורד וב-PDF
-
@odeddvir אמר בתוכנה לסימון חזרות:
@פלורידה אפשר על ידי כלי המפתחים:
א. האם אפשר לעשות שלחיצה על התיבה, תתן ערך (של 1/2) בתא אחר?
ב. האם אפשר לשלוט בגודל של התיבה ובעיצוב שלה?, (אני לא מצליח להגדיל את הריבוע)
-
@פלורידה אמר בתוכנה לסימון חזרות:
א. האם אפשר לעשות שלחיצה על התיבה, תתן ערך (של 1/2) בתא אחר?
אפשר לאגד את התיבה לתא אחר, שישתנה לTrue/False בהתאמה. ניתן אחר כך לסכם את התאים המאוגדים וכו'.
ב. האם אפשר לשלוט בגודל של התיבה ובעיצוב שלה?, (אני לא מצליח להגדיל את הריבוע)
לא. זו אחת מתעודות העניות של מיקרוסופט, שלא שינו את הפקד במשך דורות.
-
@odeddvir אמר בתוכנה לסימון חזרות:
ב. האם אפשר לשלוט בגודל של התיבה ובעיצוב שלה?, (אני לא מצליח להגדיל את הריבוע)
לא. זו אחת מתעודות העניות של מיקרוסופט, שלא שינו את הפקד במשך דורות.
מצאתי את התבנית הזו לוח מטלות שבועי.xlsm יש בה תאים שעל ידי לחיצה על התא פעמיים, הוא כותב "בוצע" ונותן ערך לתא 1, אני מאמין שזה יוכל לעזור לי.
מה שהצלחתי להבין, שהתא מוגדר ב"מותאם אישית", שערך מספרי כלשהו = בוצע
"בוצע";" ";" "
ובעיצוב מותנה כשהערך גבוה מ=1 התא מקבל סימון v
כמובן שאם אני מוחק את המילים בוצע, הרי מתקבל לי פקד תוכן שנותן v עם ערך 1
מה שאני עדיין לא מבין, איך עושים שעל ידי לחיצה כפולה הוא נותן לתא ערך = 1 (וכשאלה נגזרת, האם אפשר לעשות שייוצר על ידי לחיצה בודדת)
-
כמו כן חשוב לי לדעת, האם כאשר אני נותן ערך לתא, נשמר היכן שהוא התאריך שבו השתנה התא?
-
פלורידההשיב לפלורידה ב 12 בספט׳ 2021, 20:05 נערך לאחרונה על ידי פלורידה 9 בדצמ׳ 2021, 20:16
@פלורידה אמר בתוכנה לסימון חזרות:
מה שאני עדיין לא מבין, איך עושים שעל ידי לחיצה כפולה הוא נותן לתא ערך = 1 (וכשאלה נגזרת, האם אפשר לעשות שייוצר על ידי לחיצה בודדת)
מצאתי כאן את הקוד הזה
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) On Error Resume Next If Not Intersect(Target, Range("A1")) Is Nothing Then Range("A1").Value = Range("A1").Value + 1 Cancel = True End If End Sub
בכל פעם שאלחץ על תא
a1
הוא יקבל תוספת של 1 אם נניח הערך שקיים בו הוא 173, על ידי לחיצה הוא יהיה 174.מה שאני רוצה לעשות שכאשר אני לוחץ פעם שנייה הוא יהיה 0, כלומר פעם אחת הוא יהיה 0 פעם שניה 1 וכן הלאה.
כמו כן מצאתי את הקוד הזה, שאמנם עושה v בלחיצה כפולה, ומסיר אותו בפעם השניה, אך לא נותן ערך לתא.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("B1:B10")) Is Nothing Then Application.EnableEvents = False If ActiveCell.Value = ChrW(&H2713) Then ActiveCell.ClearContents Else ActiveCell.Value = ChrW(&H2713) End If Cancel = True End If Application.EnableEvents = True End Sub
אולי ניתן ליצור נוסחה
v=1
???? -
@פלורידה אמר בתוכנה לסימון חזרות:
אך לא נותן ערך לתא.
זה לא מדויק. למעשה הוא נותן ערך לתא, התא מכיל את התו
ChrW(&H2713)
.@פלורידה אמר בתוכנה לסימון חזרות:
אולי ניתן ליצור נוסחה v=1????
לא. אבל אפשר לסכם לפי תנאי, אם התא ריק אז להוסיף 0, ואם יש בו ערך כלשהוא (או ליתר דיוק את התו הנ"ל) להוסיף 1.
ואפשר גם להכניס בפועל את הערך True/False ולהשתמש בעיצוב מתנה כדי להציג V. -
פלורידההשיב לOdedDvir ב 12 בספט׳ 2021, 20:43 נערך לאחרונה על ידי פלורידה 9 בדצמ׳ 2021, 21:15
@odeddvir אמר בתוכנה לסימון חזרות:
לא. אבל אפשר לסכם לפי תנאי, אם התא ריק אז להוסיף 0, ואם יש בו ערך כלשהוא (או ליתר דיוק את התו הנ"ל) להוסיף 1.
זה ממש רעיון מבריק. איך עושים את זה?
כלומר: איך מסכמים לפי תנאי? או לחילופין מה שם הנוסחה??.
למתעניינים צירפתי את הפיתרון שאני בחרתי לצורך המסמך שאני עורך
הכנסתי את הקוד הזה:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("B1:B10")) Is Nothing Then
Application.EnableEvents = False
If ActiveCell.Value = Date Then
ActiveCell.ClearContents
Else
ActiveCell.Value = Date
End If
Cancel = True
End If
Application.EnableEvents = True
End Subהמשמעות שלו, שלחיצה תתן את התאריך
[אני כבר יעלים אותו על ידי התאמת אישית לסוג" ";" ";" "
ככה:
ובכך אני מרויח שניתן לחקור את התאריך שבו ניתן הסימון.
כמובן שהבעיה שלי שהערך של התא באופן אוטומטי כערך התאריך, מה שאני צריך לעשות הוא סיכום שכל ערך שנמצא בתא באופן אוטומטי נחשב ל 1 -
-
@odeddvir אמר בתוכנה לסימון חזרות:
@פלורידה תשתמש ב CountIF:
=COUNTIF(E1:E10,ChrW(&H2713))
אצלי זה לא עוזר, כי במקום
ChrW(&H2713)
שמתיDate
מה שגורר שבתאים מוגדר11/11/2020
כך שאני כן זקוק להגיע לפונקצייה של ספירה -
OdedDvirהשיב לפלורידה ב 12 בספט׳ 2021, 22:27 נערך לאחרונה על ידי OdedDvir 9 בדצמ׳ 2021, 22:31
@פלורידה אז תשתמש פשוט ב CountA:
COUNTA(E1:E10)
תוספת:
אם אתה משתמש רק בתאריכים, אתה יכול להשתמש גם ב-Count הרגילה, ההבדל הוא ש-CountA תספור גם טקסט, ערכים לוגיים כמו True/False, ואפילו שגיאות ושאר מרעין בישין, בעוד ש Count תספור רק תאים עם ערך מספרי (כולל תאריכים) -
-
@פלורידה פתח את האפליקציה "מפת תוים":
בחר את הפונט הרצוי ואת התו, ולמטה יופיע הקוד שלו:
שים לב שהקוד מופיע בקידוד HEX, אבל שיטת הסימון בVBA וממילא גם באקסל היא מעט שונה.
פשוט תחליף את הקידומת0x
לקידומתH&
. למשל במקום0xFC
תכתובHFC&
-
@odeddvir אמר בתוכנה לסימון חזרות:
פשוט תחליף את הקידומת 0x לקידומת H&. למשל במקום 0xFC תכתוב HFC&
למה משנים את הקידומת של יוניקוד
U+1F50D
-
-
@פלורידה אתה צודק. הקידוד של Unicode הוא UTF-32 בעוד שהקידוד של Windows 10 הוא UTF-16. הפונקציה ChrW לא תעבוד בחלק מהערכים.
לחלק מהערכים תצטרך להשתמש בפונקצית VBA המשופרת הבאה:
מקור: StackOverflowPublic Function ChrU(UCode As String) As String Dim CharCode As Long CharCode = Val("&H00" & Right(UCode, Len(UCode) - 2)) If CharCode < 0 Then CharCode = CharCode + 65536 End If Dim lngChar As Long If CharCode >= 0 Then If CharCode < &HD800& Then ChrU = ChrW$(CharCode) Exit Function ElseIf CharCode < &HDC00& Then ' UTF-16 surrogates are invalid in UTF-32 ElseIf CharCode < &HFFFF& Then ChrU = ChrW$(CharCode) Exit Function ElseIf CharCode < &H10FFFF Then lngChar = CharCode - &H10000 ChrU = ChrW$(&HD800& Or (lngChar \ 1024)) & ChrW$(&HDC00& Or (lngChar And &H3FF&)) Exit Function End If End If Err.Raise 5 End Function
תפתח את עורך ה-VBA באקסל, צור מודל חדש ותדביק שם את הקוד.
כעת תוכל להציג תווי יוניקוד כך:
-
@odeddvir הניסוח אינו מדויק.
UTF32, UTF16 ,UTF8 כולם Unicode, העניין הוא שChar מכיל רק 16 ביטים, רוב האפליקציות בחרו להתעלם מהעובדה הזו בעיקר משום שרוב התווים שבשימוש תדיר משתתפים בBasic Multilingual Plane (או בקיצור BMP) שדורש 16 ביטים בלבד.
BMP מכסה את כל השפות המודרניות ומכיל יותר מ30,000 אלף תווים בסינית. -
אני מתכונן להוציא את התוכנה להפצה בעז"ה ביום-יומיים הקרובים. תודות לכם על עזרתכם הרבה!! בפורום ובפרטי!
אשמח אם יעבור עליה מישהו שיש לו הבנה בתחום.
(אני מעלה את הקובץ. יש בו כעת שתי גליונות האחד הוא הגליון שממנו אני עורך את שאר הגליונות, והשני הוא גליון שיישמתי בו את מסכת ברכות)
אם יש למישהו רעיון לשיפור כדאי ליצור אותו בגליון הבסיסי שממנו ניצור את שאר הגליונות
חסר עדיין השלמה גרף שיבטא את קצב ההתקדמות של החזרות לפי תאריך.
תודה רבה לכל מי שיכול לעזור בעניין.
https://send.magicode.me/send-file/file/590fe8b57c55cd935429c15a02b688b56f97e00b/view
סיסמא 123 -
גירסא חדשה.
הדרן עלך.zip
סיסמא 12אשמח לחוות דעת איזו גירסא יותר טובה/פחות טובה.
-
@chagold הדרן עלך.zip
תוקן