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

@one1010 טעות בהקלדה. צ"ל DATEDIF
@בערל נסה למקם את קובץ הפלט בתיקייה שאינה root. יש הגבלות על יצירת קבצים בתוך התיקיה הראשית של הכונן.
@בערל לפי הדוגמאות באתר שהבאת לא התרשמתי שהוא מסוגל לזהות את הזווית בעצמו, אלא רק לסובב ולנקות את הרקע לפי ארגומנטים מהמשתמש...
אבל מצאתי פרוייקט בגיטהב שמתיימר לעשות זאת בהצלחה:
https://github.com/JPLeoRX/opencv-text-deskew
אין לי פייתון מותקן כרגע כדי לבדוק, אבל זה נראה מאוד מבטיח.
@בערל אם הסטייה היא בזוית קבועה, אתה יכול ליצור פעולת-אצווה Batch-Action בפוטושופ שתסובב לך את כל התמונות בתיקייה באותה הזוית.
@גאון אפשר קישור לאתר של התוכנות? אני לא מכיר אף אחת מהן.
@יהודי-טוב מתי הוא נמחק?
אפשר לכתוב פונקצית מעטפת (wrapper) ל-InputBox, שניתן להעביר אליה רשימת ערכים מותרים.
בדוגמא הבאה ניתן להעביר רשימת ערכים מותרים המופרדים על ידי צינור pipe |.
Public Function LimitedInputBox(prompt As String, title As String, valuesList As String) As String
Dim userInput As String
Dim done As Boolean: done = False
Dim values As Variant
values = Split(valuesList, "|")
Do
userInput = InputBox(prompt, title)
If Len(userInput) > 0 Then
Dim val As Variant
For Each val In values
If userInput = val Then
done = True
Exit For
End If
Next val
End If
Loop Until done
LimitedInputBox = userInput
End Function
כעת ניתן לקרוא לפונקציה כך:
selectedColor = LimitedInputBox ("Please enter a color (white, black, or blue):", "Color selection", "white|black|blue")
או בדוגמא שלך (סדר הפרמטרים מוצג הפוך בגלל העברית...):
selectedClass = LimitedInputBox ("בחר כיתה מ-א עד ח:", "בחירת כיתה", "א|ב|ג|ד|ה|ו|ז|ח")
שים לב שתיבת הקלט תמשיך לבקש קלט מהמשתמש גם אם הוא יבחר Cancel או ילחץ על לחצן הביטול.
אם רוצים לאפשר גם אי-בחירה, אפשר כמובן להוסיף בדיקה כזו.
@חנון-המרבה באימות נתונים באקסל אפשר להגביל רק לרשימת ערכים סגורה.
הנה דוגמא:

@שוהם307 אמר בגוגל שיטס | העברת שורות לגיליון אחר:
האם יש בכלל אפשרות לאשר עריכה חלקית בלבד?
התשובה היא לא, בגלל שהמחיקה מבוצעת מתוך פונקציה מותאמת אישית (Custom Function) שכאמור היא מוגבלת.
אם הגליון משותף גם למי שאינו בעלים, תצטרך להשתמש בפתרון הסינון שהציע @nach
@פלורידה אמר באקסל | בחירת טווח עמודות בכל הטבלאות:
הקוד לשחזור, מפעיל רק את ה MsgBox's אך למעשה לא מעתיק.
ברור. 
כי בשחזור הוא בוחר מהגיבוי את כל התאים שלא נעולים, כלומר כל הגליון, ואז מנסה להעתיק את כולם, כלומר גם לתוך התאים שנעולים.
נו נו, הקוד לא מושלם.
כיון שאני מחזיק מעצמי מתכנת דגול, תרשה לי לעשות מה שמתכנת דגול עושה, ולהטיל את האשמה עליך,
ולהעיר כי זה בגלל שהדרך הזו לגבות ולשחזר היא לא אידיאלית בלשון המעטה.
אפשר להוסיף בדיקה שבשחזור יעתיק רק את התאים שגם ביעד הם לא נעולים, אבל אז זה ידרוש שינוי נוסף בקוד.
לא אכפת לי האתגר, אבל נראה לי שכבר חרגנו מהנושא המקורי של הפוסט.
פתח נושא המשך בסגנון: "כיצד לגבות ולשחזר טווחים מסויימים מחוברת אקסל."
בע"ה אני אשתדל למצוא לך פתרון שם.
@פלורידה
תיקנתי טעות קטנה בקוד של הפונקציה CopyAllUnlockedTableCells...
שים לב שהקוד שצירפתי עובד לאט מאד...
ההפרדה בין האזורים והעתקתם אחד אחד היא איטית מאוד, משהו כמו דקה עבור כל חוברת העבודה. אני לא הצלחתי לשפר את המהירות.
בכל מקרה, הוספתי הודעה לפני ואחרי ההעתקה, והפכתי את הסמן לספינר כדי לתת למשתמש אינדיקציה מתי התהליך הסתיים.
יהיה נחמד להוסיף מד-התקדמות Progress Bar כדי לתת חוויה יותר נעימה למשתמש.
@פלורידה מני מניח שהתכוונת לחוברת ריקה. בחוברת ריקה זה גם לא יעבוד, כי צריך שכל הגליונות יהיו קיימים, אלא שיהיו ריקים (הקוד לא יוצר גליונות חדשים).
@פלורידה עכשיו אני כן מנחש מה אתה זומם... 
תוכל לקבל את הטווח על ידי selectedArea.Address
@פלורידה הקוד שצירפתי לעיל הוא טיפש למדי.
הוא מנסה להעתיק את תוכן כל התאים בטווח, מבלי להתחשב בכך שאולי חלק מתאי היעד נעולים. אני מניח שחלק מהגליון נעול לשינויים, ולכן השחזור לא מצליח.
שחזור חכם ישחזר רק את תוכן התאים הרלוונטיים.
@פלורידה כן, הגיבוי והשחזור הם לתוך\מתוך הקובץ גיבוי.xlsx שנמצא באותה תיקייה של החוברת.
@פלורידה אם מיקומי התאים זהים ורק העיצוב שונה, תוכל לבצע הדבקה מיוחדת:
תעתיק את כל הערכים, לך לגליון החדש, ותבחר הדבקה מיוחדת > ערכים בלבד.
או הפוך:
להעתיק את העיצוב החדש, ולהדביק הדבקה מיוחדת > עיצוב בלבד.
@בערל אני לא מבין את התחביר של השאילתא:
SELECT qrySelect_currentID.Data.ID, qrySelect_currentID.Data.FirstName, qrySelect_currentID.Data.LastName, INTO MailMerge
FROM qrySelect_currentID;
qrySelect_currentID.Data.ID, האם אתה משתמש בשדה עם ערכים מרובים?LastName יש פסיק מיותר@בערל אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:
ואז אעשה שאילתא חדשה שתביא לי רק את השורה האחרונה מהטבלה, (איך? ע''י בחירת ה-ID הגבוה ביותר?
זה כנראה הכי פשוט. שאילתת קיבוץ עם הפונקציה Max על השדה ID.