excel لطفا کمممممممممممک

ab 84

عضو جدید
سلام
بچه ها من چطور درجه دقیقه ثانیه رو تو اکسل به درجه تبدیل کنم؟
مثلا:
طول جغرافيايي
"45 '31 46°‏

یک راه حل کوتاه میخوامَ
 

asn.sport

عضو جدید
سلام..
یه راه بسیار ابتدایی خب میتونید خیلی راحت فورمول بنویسید....به راحتی :)
ثانیه/3600+دقیقه/60+درجه
در هر صورت باید اول ثانیه و دقیقه ودرجه از هم جدا کنی
 

rkm7232

عضو
اگه ورودیتون همینیه که دادین..
کافیه از داخل اکسل VBA رو باز کنید و کد زیرو توی ماژول 1 بریزین:

کد:
'####################################################
'#              Reza Kiani Moghaddam                #
'#  Convert Degree/Minute/Second to Decimal Degree  #
'#              TH 03/28/2013  14:32                #
'####################################################
Function ConvertToDecimalDegree(R As Range) As Double
    Dim t As String
    For Each cell In R
        t = cell
        Dim sp1 As Integer, sp2 As Integer
        sp1 = InStr(1, t, " ")
        sp2 = InStrRev(t, " ")


        ConvertToDecimalDegree = CDbl(Replace(Mid(t, sp2 + 1), "°", "")) + _
            CDbl(Replace(Mid(t, sp1 + 1, sp2 - sp1), "'", "")) / 60 + _
            CDbl(Replace(Mid(t, 1, sp1), """", "")) / 3600
    Next cell
End Function

یعد از اون برا استفاده ش کافیه که ادرس خونه ای که توش متنو نوشتی بعنوان پارامتر بهش بدی

مثلا اگه خونه K9 خونه ایه که توش نوشتی : "45 '31 46°
برا استفاده از تابع، توی یه خونه دیگه بنویس :
کد:
=ConvertToDecimalDegree(K9)

به همین راحتی!! :gol:
 

Checkmate

کاربر فعال تالار مهندسی شهرسازی ,
کاربر ممتاز
اگه ورودیتون همینیه که دادین..
کافیه از داخل اکسل VBA رو باز کنید و کد زیرو توی ماژول 1 بریزین:

کد:
'####################################################
'#              Reza Kiani Moghaddam                #
'#  Convert Degree/Minute/Second to Decimal Degree  #
'#              TH 03/28/2013  14:32                #
'####################################################
Function ConvertToDecimalDegree(R As Range) As Double
    Dim t As String
    For Each cell In R
        t = cell
        Dim sp1 As Integer, sp2 As Integer
        sp1 = InStr(1, t, " ")
        sp2 = InStrRev(t, " ")


        ConvertToDecimalDegree = CDbl(Replace(Mid(t, sp2 + 1), "°", "")) + _
            CDbl(Replace(Mid(t, sp1 + 1, sp2 - sp1), "'", "")) / 60 + _
            CDbl(Replace(Mid(t, 1, sp1), """", "")) / 3600
    Next cell
End Function

یعد از اون برا استفاده ش کافیه که ادرس خونه ای که توش متنو نوشتی بعنوان پارامتر بهش بدی

مثلا اگه خونه K9 خونه ایه که توش نوشتی : "45 '31 46°
برا استفاده از تابع، توی یه خونه دیگه بنویس :
کد:
=ConvertToDecimalDegree(K9)

به همین راحتی!! :gol:

کدی که نوشتید متعلق به Visual Basic هست؟! چطوری میشه از توی اکسل با ویژوال بیسیک کدنویسی کرد؟
 

rkm7232

عضو
کدی که نوشتید متعلق به Visual Basic هست؟! چطوری میشه از توی اکسل با ویژوال بیسیک کدنویسی کرد؟

کافیه که تب developer رو به اکسل اضافه کنین..
اگه نمیدونین چجوری کافیه تو گوگل سرچ کنین من خودم با گوشی میام الان نمیتونم بگم..
بعدش توی ماژول 1 کد اولی رو بنویسید..
 

Checkmate

کاربر فعال تالار مهندسی شهرسازی ,
کاربر ممتاز
کافیه که تب developer رو به اکسل اضافه کنین..
اگه نمیدونین چجوری کافیه تو گوگل سرچ کنین من خودم با گوشی میام الان نمیتونم بگم..
بعدش توی ماژول 1 کد اولی رو بنویسید..

پیدا میکنم، ممنون! خیلی خوبه که میشه با VBscript کار کرد تو اکسل...
 

Similar threads

بالا