מרובע

משתמש מקצוען
עריכה תורנית
D I G I T A L
קוד VBA מצויין להפוך עשרוני למעלות ולהיפך. מזינים 10.46 ומקבלים במקום 10° 27' 36" וכן להיפך: מזינים מעלות ומקבלים עשרוני:
 

מרובע

משתמש מקצוען
עריכה תורנית
D I G I T A L
קוד VBA מצויין להפוך עשרוני למעלות ולהיפך. מזינים 10.46 ומקבלים במקום 10° 27' 36" וכן להיפך: מזינים מעלות ומקבלים עשרוני:
אשמח אם מישהו יודע האם אפשר להדביק את זה כסקריפט בגוגל שיטס, ואם לא, האם מישהו יכול להתאים את הקוד הזה לשיטס אם אפשר?
בתודה מראש
 

מרובע

משתמש מקצוען
עריכה תורנית
D I G I T A L
אני צריך לעשות את פונקציית substitute כמה פעמים על אותו תא.
זאת אומרת במקום X תכתוב א ובמקום Y תכתוב ב ובמקום Z תכתוב ג'
איך עושים את זה?
(עשיתי את זה בשלושה תאים נפרדים בינתיים, ואני לא יודע איך כותבים את זה בתא אחד)
 

אפר

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

אפר

סתם מתעניין...
מנוי פרימיום
אני צריך לעשות את פונקציית substitute כמה פעמים על אותו תא.
זאת אומרת במקום X תכתוב א ובמקום Y תכתוב ב ובמקום Z תכתוב ג'
איך עושים את זה?
(עשיתי את זה בשלושה תאים נפרדים בינתיים, ואני לא יודע איך כותבים את זה בתא אחד)
תעטוף אותו בעוד SUBSTITUTE
 

מרובע

משתמש מקצוען
עריכה תורנית
D I G I T A L
זה לא אותו שפה
בשיטס זה JS
את JS אני מכיר באופן בסיסי, את VBA הרבה פחות.
לכן אשמח אם תוכלו לבאר לי מעט איך עובדים שני הקודים הבאים:

א)

C++:
Function Convert_Degree(Decimal_Deg) As Variant
    With Application
        'Set degree to Integer of Argument Passed
        Degrees = Int(Decimal_Deg)
        'Set minutes to 60 times the number to the right
        'of the decimal for the variable Decimal_Deg
        Minutes = (Decimal_Deg - Degrees) * 60
        'Set seconds to 60 times the number to the right of the
        'decimal for the variable Minute
        Seconds = Format(((Minutes - Int(Minutes)) * 60), "0")
        'Returns the Result of degree conversion
        '(for example, 10.46 = 10~ 27  ' 36")
        Convert_Degree = " " & Degrees & "° " & Int(Minutes) & " ' " & Seconds + Chr(34)
    End With
End Function

ב)
C++:
Function Convert_Decimal(Degree_Deg As String) As Double
    ' Declare the variables to be double precision floating-point

   Dim degrees As Double
   Dim minutes As Double
   Dim seconds As Double
   ' Set degree to value before "°" of Argument Passed.
   Degree_Deg = Replace(Degree_Deg, "~", "°")


   degrees = CDbl(Left(Degree_Deg, InStr(1, Degree_Deg, "°") - 1))
   ' Set minutes to the value between the "°" and the "'"
   ' of the text string for the variable Degree_Deg divided by
   ' 60. The Val function converts the text string to a number.
   minutes = CDbl(Mid(Degree_Deg, InStr(1, Degree_Deg, "°") + 1, _
             InStr(1, Degree_Deg, "'") - InStr(1, Degree_Deg, "°") - 1)) / 60
   ' Set seconds to the number to the right of "'" that is
   ' converted to a value and then divided by 3600.
   seconds = CDbl(Mid(Degree_Deg, InStr(1, Degree_Deg, "'") + _
           1, Len(Degree_Deg) - InStr(1, Degree_Deg, "'") - 1)) / 3600

   Convert_Decimal = degrees + minutes + seconds

End Function
 

למען הציבור

משתמש רשום
@אפר
אפשר עזרה גם עם הטבלה הזאת?

אני מזכיר מה שכתבתי שבוע שעבר
יש לי רשימה של שמות של אנשים למשל עם מזהה, וברשימה נפרדת את אותו המזהה עם נתון נוסף (למשל טלפון)
מה אני עושה כשבטבלה השניה (של הטלפונים) יש אנשים עם 2 שורות זאת אומרת אותו מזהה בשני שורות


רוב תודות
(ניסיתי להעתקי את הנוסחה וזה לא עבד לי,
 

קבצים מצורפים

  • ניסיון נוסף.xlsx
    KB 13.1 · צפיות: 12

למה?

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

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

אפר

סתם מתעניין...
מנוי פרימיום
א)

C++:
Function Convert_Degree(Decimal_Deg) As Variant
With Application
'Set degree to Integer of Argument Passed
Degrees = Int(Decimal_Deg)
'Set minutes to 60 times the number to the right
'of the decimal for the variable Decimal_Deg
Minutes = (Decimal_Deg - Degrees) * 60
'Set seconds to 60 times the number to the right of the
'decimal for the variable Minute
Seconds = Format(((Minutes - Int(Minutes)) * 60), "0")
'Returns the Result of degree conversion
'(for example, 10.46 = 10~ 27 ' 36")
Convert_Degree = " " & Degrees & "° " & Int(Minutes) & " ' " & Seconds + Chr(34)
End With
End Function
מעגל ללמטה - זה המעלות
לאחר מכן לוקח את החלק העשרוני על ידי הפחתה של המעלות המעוגלות מהסכום השלם (כזכור כתבתי פה שבVBA פונקציית MOD מעלימה עשרוני) ומכפיל ב60) - זה הדקות
לאחר מכן לוקח את העשרוני שנשאר בדקות (שוב עניין ה MOD) ומעצב עם לפחות מספר אחד - זה השניות
ואז משרשר למחרוזת טקטט
{רווח} {מעלות} {סמל של מעלות} {רווח} {דקות מעוגל ללמטה} {רווח} {גרש} {רווח} {שניות} {CHR(34)}
 

אפר

סתם מתעניין...
מנוי פרימיום
ב)
C++:
Function Convert_Decimal(Degree_Deg As String) As Double
' Declare the variables to be double precision floating-point

Dim degrees As Double
Dim minutes As Double
Dim seconds As Double
' Set degree to value before "°" of Argument Passed.
Degree_Deg = Replace(Degree_Deg, "~", "°")


degrees = CDbl(Left(Degree_Deg, InStr(1, Degree_Deg, "°") - 1))
' Set minutes to the value between the "°" and the "'"
' of the text string for the variable Degree_Deg divided by
' 60. The Val function converts the text string to a number.
minutes = CDbl(Mid(Degree_Deg, InStr(1, Degree_Deg, "°") + 1, _
InStr(1, Degree_Deg, "'") - InStr(1, Degree_Deg, "°") - 1)) / 60
' Set seconds to the number to the right of "'" that is
' converted to a value and then divided by 3600.
seconds = CDbl(Mid(Degree_Deg, InStr(1, Degree_Deg, "'") + _
1, Len(Degree_Deg) - InStr(1, Degree_Deg, "'") - 1)) / 3600

Convert_Decimal = degrees + minutes + seconds

End Function
מצהיר על משתנים מסוג כפול FLOAT למעלות דקות ושניות
מחליף את הסמל ~ לסמל של מעלות (לא חובה - עוזר לעוד מקרים)
לוקח את הקטע עד הסמל של המעלות LEFT וכו' - זה המעלות (שומר בתור מספר)
לוקח את הקטע בין הסמל של המעלות לגרש ושומר לדקות בתור מספר ומחלק ל60על מנת שיקבל את הערך העשרוני
לוקח את הקטע לאחר הגרש ושומר לשניות בתור מספר ומחלק ל3600 על מנת שיקבל את הערך העשרוני
מחבר את המעלות הדקות והשניות וזה התוצאה העשרונית
 

רוטמן

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

למען הציבור

משתמש רשום
@אפר
אפשר עזרה גם עם הטבלה הזאת?

אני מזכיר מה שכתבתי שבוע שעבר
יש לי רשימה של שמות של אנשים למשל עם מזהה, וברשימה נפרדת את אותו המזהה עם נתון נוסף (למשל טלפון)
מה אני עושה כשבטבלה השניה (של הטלפונים) יש אנשים עם 2 שורות זאת אומרת אותו מזהה בשני שורות


רוב תודות
(ניסיתי להעתקי את הנוסחה וזה לא עבד לי,


@אפר
יש מצב לעזרה גם בטבלה הזאת?

תודה רבה
 

קבצים מצורפים

  • ניסיון נוסף.xlsx
    KB 13.1 · צפיות: 13

עוזר לציבור

משתמש רשום
שלום
יש לי כ 1500 אנשי קשר בקובץ WORD
ואני צריך את כל האנשי קשר מספרים לקובץ אקסל איך אני עושה זאת ?
 

אולי מעניין אותך גם...

הפרק היומי

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


תהילים פרק קיט ר'

קנג רְאֵה עָנְיִי וְחַלְּצֵנִי כִּי תוֹרָתְךָ לֹא שָׁכָחְתִּי:קנד רִיבָה רִיבִי וּגְאָלֵנִי לְאִמְרָתְךָ חַיֵּנִי:קנה רָחוֹק מֵרְשָׁעִים יְשׁוּעָה כִּי חֻקֶּיךָ לֹא דָרָשׁוּ:קנו רַחֲמֶיךָ רַבִּים יְהוָה כְּמִשְׁפָּטֶיךָ חַיֵּנִי:קנז רַבִּים רֹדְפַי וְצָרָי מֵעֵדְוֹתֶיךָ לֹא נָטִיתִי:קנח רָאִיתִי בֹגְדִים וָאֶתְקוֹטָטָה אֲשֶׁר אִמְרָתְךָ לֹא שָׁמָרוּ:קנט רְאֵה כִּי פִקּוּדֶיךָ אָהָבְתִּי יְהוָה כְּחַסְדְּךָ חַיֵּנִי:קס רֹאשׁ דְּבָרְךָ אֱמֶת וּלְעוֹלָם כָּל מִשְׁפַּט צִדְקֶךָ:
נקרא  8  פעמים

לוח מודעות

למעלה