@chv באמת תודה
זה מופיע עם התרגום...
אפשר באנגלית?
מאסטר באקסל
-
קוד בגאווה סקריפט -
קוד בגאווה סקריפט -
קוד בגאווה סקריפטאני צריך דחוף קוד בגאווה סקריפט,
שמוחק את כל התרשימים מהגיליון.
בבחירת הכל או אם אין אפשרות אז בחירת אחד אחד.אשמח מאוד לעזרה דחופה בנושא
תודה -
עזרה בכתיבת SKRIPT לגוגל שיטס.תודה
אבל התכוונתי לדעת על הפרמטר הראשון של ירידת שורות,
איך הוא מוצא את התא הראשון הריק? -
עזרה בכתיבת SKRIPT לגוגל שיטס.סליחה על הבורות,
אבל אפשר הסבר על השוני בנוסחאות,
ועל צורת הפעולה שלו?
(של ה- OFFSET)
בכדי שאני ידע להיזהר משגיאות בהפעלה שלו,
תודה -
עזרה בכתיבת SKRIPT לגוגל שיטס.@OdedDvir אמר בעזרה בכתיבת SKRIPT לגוגל שיטס.:
spreadsheet.setActiveCell(spreadsheet.getDataRange().offset(spreadsheet.getLastRow()-1, 0, 1, 1));
מדהים!!
עובד יפי!!
תודה!! -
עזרה בכתיבת SKRIPT לגוגל שיטס.function nisui2() { var spreadsheet = SpreadsheetApp.getActive(); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('גיליון 2'), true); spreadsheet.getRange('A2').activate(); spreadsheet.getCurrentCell().offset(rows('A:A')-countblank('A:A')+1,0), 0).activate(); spreadsheet.getRange('\'גיליון 1\'!B7:L35').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('גיליון 1'), true); spreadsheet.getRange('D7:E35').activate(); spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true}); spreadsheet.getRange('D3:I3').activate(); spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true}); spreadsheet.getRange('D3').activate(); };
-
עזרה בכתיבת SKRIPT לגוגל שיטס.@OdedDvir אמר בעזרה בכתיבת SKRIPT לגוגל שיטס.:
@מאסטר-באקסל אמר בעזרה בכתיבת SKRIPT לגוגל שיטס.:
מה רע באיך שכתבתי?
הניחוש שלי היא שבגלל אופן הפעולה שתיארת למעלה, התאים בגליון 1 שנמחקו - לא נחשבים ריקים, (ניקוי ערך לא הופך תא לריק, הוא הופך אותו לתא שמכיל מחרוזת ריקה) ואז הפונקציה COUNTBLANK מחזירה 0, מה שגורם לכך ש:
OFFSET(ROWS('A:A')-COUNTBLANK('A:A')+1,0) == OFFSET(ROWS('A:A')-0+1,0) // זליגת תחום שורות
איך כותבים את זה נכון?
אפשרות א:
תשנה את הפונקציה clear כך שהתאים יימחקו לגמרידבר ראשון, תודה!!
דבר שני לא זאת הסיבה כי אני רוצה תא ריק ראשון בגיליון 2 המחיקה היא בגיליון 1@OdedDvir אמר בעזרה בכתיבת SKRIPT לגוגל שיטס.:
אפשרות ב: תשתמש בפונקציה אחרת לחישוב השורה הראשונה הריקה: יש פונקציה מאוד מהירה שכתבו ב StackOverflow שמחזירה את השורה הראשונה הריקה, או הראשונה עם מחרוזת ריקה
function getFirstEmptyRowByColumnArray() { var spr = SpreadsheetApp.getActiveSpreadsheet(); var column = spr.getRange('A:A'); var values = column.getValues(); // get all data in one call var ct = 0; while ( values[ct] && values[ct][0] != "" ) { ct++; } return (ct+1); }
עכשיו תכתוב:
OFFSET(getFirstEmptyRowByColumnArray(),0)לקחתי את הפונקציה הזאת והיא לא עשתה שום דבר
גם אחרי ששמתי את ה- OFFSET
למה? -
עזרה בכתיבת SKRIPT לגוגל שיטס.יש לי קוד שכבר כתוב, שמעביר נתונים מגיליון 1 לגיליון 2
בגיליון 1 זה נמחק ובגליון 2 זה נשאר תמיד
אבל פה יש בעיה, כל פעם שהוא כותב את הנתונים בגיליון 2,
הוא הולך לאותו תא (A2),
ואני רוצה שילך לתא הריק הראשון בעמודה A
ככה נראה הקוד:function nisui2() { var spreadsheet = SpreadsheetApp.getActive(); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('גיליון 2'), true); spreadsheet.getRange('A2').activate(); spreadsheet.getRange('\'גיליון 1\'!B7:L35').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('גיליון 1'), true); spreadsheet.getRange('D7:E35').activate(); spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true}); spreadsheet.getRange('D3:I3').activate(); spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true}); spreadsheet.getRange('D3').activate(); };
מה שרלוונטי לשאלה זה בין שורה 4 לחמש אני רוצה להכניס שורה כזו:
OFFSET(ROWS('A:A')-COUNTBLANK('A:A')+1,0)
כשהכוונה היא שיספור את מספר השורות בעמודה A פחות מספר התאים הריקים יוצא מספר התאים המלאים + 1 אז הגענו לראשון הריק,
הכל טוב ויפה, אבל כשאני מפעיל אותו אני מקבל הודעה ש ROWS אינו מוגדר,
וכאן אני שואל:
- מה רע באיך שכתבתי?
- איך כותבים את זה נכון?
-
תחליף מאקרו באקסל בגוגל שיטס@nach אמר בתחליף מאקרו באקסל בגוגל שיטס:
@חנון-המרבה אמר בתחליף מאקרו באקסל בגוגל שיטס:
@nach יש לי 2 גיליונות בדרייב לאחד יש בכלים עורך קובצי סקריפט ולשני אין, מוזר, אתה יודע במה זה תלוי ואיך מתגברים ע"ז?!
זה תלוי בפורמט שהגיליון שמור, דהיינו: אם העלית קובץ אקסל רגיל ולא עשית לו המרה לשיטס (תפריט קובץ/שמור כשיטס) אז הם מנסים כמה שיותר לזרום עם האפשרות שאתה לאח"מ תוריד את הגיליון ותמשיך להשתמש בקובץ כאקסל רגיל במחשב שלך, א"כ אין טעם להרכיב קבצי סקריפט שלא יעבדו על המחשב, משא"כ אם יצרת גיליון שיטס חדש או שעשית שמירה כגיליון שיטס אז תוכל להנות מעושר הפונקציונליות של שיטס,
@מאסטר-באקסל אמר:
תיתן לו שם באנגלית.... תבדוק אותי...
ראשית תבורך בבואך לפורום הנכבד שלנו יה"ר שנזכה להנות לאורך,
שנית, יש"כ, באמת עכשיו לראשונה הצלחתי לעשות את זה, בדקתי וראיתי שתמיד כשניסיתי היה זה על גיליון ששמור כאקסל ולא כשיטס ולפי הנ"ל אין תמיכה לקבצי סקריפט, רק עכשיו כשהרצתי על שיטס ראיתי שיש בכלל אפשרות הקצאת סקריפט (אגב, באמת ניסיתי לבדוק ולתת שם בעברית -ללא רווחים כמובן- ולא עובד, מעניין הוא שלמרות שכשמריצים דרך פקודות מוחלטות הוא תומך בשמות בעברית ורק כך לא עובד, אבל באנגלית עובד פרפקט ומשמים תבורך)
תודה!בעברית הוא כלל לא כותב את השם הנבחר בתוך הקוד אלא רק "שומר אותו לעצמו"
באנגלית הוא מכניס אותו בתוך הקוד כשם הפונקציה
תודה על האיחולים -
תחליף מאקרו באקסל בגוגל שיטס@nach אמר בתחליף מאקרו באקסל בגוגל שיטס:
(אמורה להיות גם אפשרות הצמדת מאקרו לפקד בשיטס, מעולם לא הצלחתי)
תיתן לו שם באנגלית
וכך כשאתה שם תמונה או שרטוט והוא אומר לך לשים מאקרו שים לו את השם של המאקרו.
תבדוק אותי!