Skip to main content

كيفية تحويل الدرجات العشرية إلى درجات ودقائق وثواني في Excel؟

Author: Sun Last Modified: 2025-05-30

أحيانًا، قد يكون لديك قائمة من البيانات تظهر كدرجات عشرية في ورقة العمل، والآن تحتاج إلى تحويل الدرجات العشرية إلى تنسيق الدرجات والدقائق والثواني كما هو موضح في لقطات الشاشة التالية، فكيف يمكنك إجراء هذا التحويل بسرعة في Excel؟

decimal degrees data arrow degrees minutes seconds data

تحويل الدرجات العشرية إلى درجات ودقائق وثواني باستخدام VBA

تحويل الدرجات والدقائق والثواني إلى درجات عشرية باستخدام VBA


arrow blue right bubble تحويل الدرجات العشرية إلى درجات ودقائق وثواني باستخدام VBA

يرجى اتباع الخطوات أدناه لتحويل الدرجات العشرية إلى درجات ودقائق وثواني باستخدام كود VBA.

1. اضغط مع الاستمرار على زر ALT واضغط على F11 على لوحة المفاتيح لفتح نافذة Microsoft Visual Basic for Application.

2. انقر فوق إدراج > وحدة، ثم قم بنسخ كود VBA إلى الوحدة.

VBA: تحويل الدرجة العشرية إلى درجات ودقائق وثواني

Sub ConvertDegree()
'Update 20130815
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    num1 = Rng.Value
    num2 = (num1 - Int(num1)) * 60
    num3 = Format((num2 - Int(num2)) * 60, "00")
    Rng.Value = Int(num1) & "°" & Int(num2) & "'" & Int(num3) & "''"
Next
End Sub

3. انقر فوق زر التشغيل أو اضغط على F5 لتشغيل كود VBA.

4. ستظهر نافذة حوار على الشاشة، ويمكنك تحديد الخلايا التي تريد تحويلها. شاهد لقطة الشاشة:

vba code to select the data to convert

5. انقر فوق موافق، ثم يتم تحويل البيانات المحددة إلى درجات ودقائق وثواني. شاهد لقطة الشاشة:

original data arrow converting result

نصيحة: استخدام كود VBA أعلاه سيؤدي إلى فقدان بياناتك الأصلية، لذا يُفضل نسخ البيانات قبل تشغيل الكود.



arrow blue right bubble تحويل الدرجات والدقائق والثواني إلى درجات عشرية باستخدام VBA

أحيانًا، قد ترغب في تحويل البيانات الموجودة بتنسيق الدرجات/الدقائق/الثواني إلى درجات عشرية، يمكن أن يساعدك الكود التالي VBA في تحقيق ذلك بسرعة.

1. اضغط مع الاستمرار على زر ALT واضغط على F11 على لوحة المفاتيح لفتح نافذة Microsoft Visual Basic for Application.

2. انقر فوق إدراج > وحدة، ثم قم بنسخ كود VBA إلى الوحدة.

VBA: تحويل الدرجات والدقائق والثواني إلى درجة عشرية

Function ConvertDecimal(pInput As String) As Double
'Updateby20140227
Dim xDeg As Double
Dim xMin As Double
Dim xSec As Double
xDeg = Val(Left(pInput, InStr(1, pInput, "°") - 1))
xMin = Val(Mid(pInput, InStr(1, pInput, "°") + 2, _
             InStr(1, pInput, "'") - InStr(1, pInput, _
             "°") - 2)) / 60
xSec = Val(Mid(pInput, InStr(1, pInput, "'") + _
            2, Len(pInput) - InStr(1, pInput, "'") - 2)) _
            / 3600
ConvertDecimal = xDeg + xMin + xSec
End Function

3. احفظ الكود وأغلق النافذة، وحدد خلية فارغة، على سبيل المثال الخلية A1، وأدخل هذه الصيغة =ConvertDecimal("10° 27' 36""") ("10° 27' 36""" تمثل الدرجة التي تريد تحويلها إلى درجة عشرية، يمكنك تغييرها حسب الحاجة)، ثم انقر فوق زر الإدخال. شاهد لقطات الشاشة:

enter the formula arrow result of converting degrees, minutes, seconds to decimal degrees

مقالات ذات صلة