Note: The other languages of the website are Google-translated. Back to English

كيفية تحويل التاريخ بسرعة إلى كلمات في إكسيل؟

بشكل عام ، نقوم عادةً بتحويل التاريخ إلى تنسيقات أو أرقام تاريخ أخرى في Excel ، ولكن هل واجهت مشكلة في تحويل التاريخ إلى كلمات إنجليزية كما هو موضح أدناه؟ في الواقع ، لا توجد وظيفة مضمنة يمكنها التعامل معها ولكن رمز VBA.
تاريخ الوثيقة للكلمات 1

تحويل التاريخ إلى كلمة مع وظيفة محددة


تحويل التاريخ إلى كلمة مع وظيفة محددة

إليك رمز ماكرو يمكن أن يقدم لك معروفًا في تحويل التواريخ إلى كلمات.

1. قم بتمكين الورقة التي تستخدمها ثم اضغط ALT + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

2. انقر إدراج > وحدة ولصق الكود أدناه في البرنامج النصي.

فبا: تحويل التاريخ إلى كلمة

Function DateToWords(ByVal xRgVal As Date) As String
'UpdatebyExtendoffice20170926
    Dim xYear As String
    Dim Hundreds As String
    Dim Decades As String
    Dim xTensArr As Variant
    Dim xOrdArr As Variant
    Dim xCardArr As Variant
    xOrdArr = Array("First", "Second", "Third", _
                   "Fourth", "Fifth", "Sixth", _
                   "Seventh", "Eighth", "Nineth", _
                   "Tenth", "Eleventh", "Twelfth", _
                   "Thirteenth", "Fourteenth", _
                   "Fifteenth", "Sixteenth", _
                   "Seventeenth", "Eighteenth", _
                   "Nineteenth", "Twentieth", _
                   "Twenty-first", "Twenty-second", _
                   "Twenty-third", "Twenty-fourth", _
                   "Twenty-fifth", "Twenty-sixth", _
                   "Twenty-seventh", "Twenty-eighth", _
                   "Twenty-nineth", "Thirtieth", _
                   "Thirty-first")
    xCardArr = Array("", "One", "Two", "Three", "Four", _
                   "Five", "Six", "Seven", "Eight", "Nine", _
                   "Ten", "Eleven", "Twelve", "Thirteen", _
                   "Fourteen", "Fifteen", "Sixteen", _
                   "Seventeen", "Eighteen", "Nineteen")
    xTensArr = Array("Twenty", "Thirty", "Forty", "Fifty", _
               "Sixty", "Seventy", "Eighty", "Ninety")
    xYear = CStr(Year(xRgVal))
    Decades = Mid$(xYear, 3)
    If CInt(Decades) < 20 Then
        Decades = xCardArr(CInt(Decades))
    Else
        Decades = xTensArr(CInt(Left$(Decades, 1)) - 2) & "-" & _
                xCardArr(CInt(Right$(Decades, 1)))
    End If
        Hundreds = Mid$(xYear, 2, 1)
    If CInt(Hundreds) Then
        Hundreds = xCardArr(CInt(Hundreds)) & " Hundred "
    Else
        Hundreds = ""
    End If
    DateToWords = xOrdArr(Day(xRgVal) - 1) & _
                  Format$(xRgVal, " mmmm ") & _
                  xCardArr(CInt(Left$(xYear, 1))) & _
                  " Thousand " & Hundreds & Decades
End Function

تاريخ الوثيقة للكلمات 2

3. احفظ الكود وارجع إلى الورقة ، حدد الخلية التي ستخرج فيها النتيجة ، اكتب هذه الصيغة = DateToWords (A1) (A1 هو التاريخ الذي تستخدمه) ، اضغط أدخل مفتاح واسحب مقبض التعبئة التلقائية فوق الخلايا التي تحتاجها. انظر لقطة الشاشة:
تاريخ الوثيقة للكلمات 3


أرقام إلى كلمات

يوضح المستند رقم 1

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


أفضل أدوات إنتاجية المكتب

Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪

  • إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
  • أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2021 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.
علامة تبويب kte 201905

يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (23)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
datetowords Formula لا يعمل في جميع ملفات exall
تم تصغير هذا التعليق بواسطة المشرف على الموقع
عذرًا ، هل يمكن أن تخبرني أي نوع من ملفات Excel لا يعمل؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هذا يضع واصلة بعد عقود فوق 20 تنتهي بصفر.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
تم إصلاح الواصلة بعد 20 ، 30 ، 40 ، إلخ.

أضف هذا بعد "If CInt (عقود) <20 ثم
العقود = xCardArr (CInt (عقود)) "

ElseIf CInt (عقود) مثل "* 0" ثم
العقود = xTensArr (CInt (Left $ (العقود ، 1)) - 2)
تم تصغير هذا التعليق بواسطة المشرف على الموقع
حسنًا ، إنه عمل رائع ، لكن بعض مشاكل التنسيق موجودة هنا ، مثل 1975 (تسعة عشر ألفًا وخمسة وسبعون) ليس (ألف وتسعمائة وخمسة وسبعون) ، ولكن في حالة أكثر من 20 يكون التنسيق صحيحًا مثل عام 2011 (ألفان أحد عشر ) ، وكذلك المشكلة الثانية (مفرد / جمع) هنا (ألف ، ألفان ، مائة ، تسعمائة) ، يرجى حل هذه المشاكل ، شكرًا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
ممتاز...
تم تصغير هذا التعليق بواسطة المشرف على الموقع
عملها جيد ولكن أريد "تسعمائة وتسعمائة" وليس "ألف وتسعمائة" ... شكرا!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
آسف , ضياء خان ، لا أقصد ما تقصده بتحويل 90 إلى ألف وتسعمائة. يمكن لـ VBA فقط تحويل التاريخ إلى كلمات ، وتقوم الأداة المساعدة للرقم المنفصل بتحويل الأرقام إلى كلمات العملة الإنجليزية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
يتم التحدث باللغة الإنجليزية "Nineteen Hundred" ، وهذا خطأ في الواقع.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، هل يمكننا أيضًا القيام بذلك في word docx؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
تاريخ إلى كلمة في اللغة الغوجاراتية المتاحة؟ ارجوك اجبني. 9427909038
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أعتقد أنه لا يعمل مع لغات أخرى باستثناء اللغة الإنجليزية.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كيفية استخدام هذا الرمز في vb6 لمربع نص
تم تصغير هذا التعليق بواسطة المشرف على الموقع
سيدي / سيدتي

مفيد جدا بالنسبة لي.

مذهل حقًا وساعد في حل المشكلة في غضون دقيقة.

شكرا لك لتحميل هذه الوثيقة. لطيف جدًا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا لك على مساعدتي. مفيد جدا في تحويل تاريخ الميلاد بالكلمة
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أود إضافة نص إلى الناتج ، على سبيل المثال ، تم تحويل عام 1958 إلى ألف وتسعمائة وخمسون وثمانية وأريد أن أقول ألف وتسعمائة و ثمانية و خمسون. هل يمكن لأحد أن يعطيني مثالاً على كيفية القيام بذلك من فضلك؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
انها تعطي # NAME؟ خطأ
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كما تشکریہ
تم تصغير هذا التعليق بواسطة المشرف على الموقع
07/08/1998 السابع عشر من آب (أغسطس) تسعمائة وثمانية وتسعون
أحتاج إلى dob في الكلمات بالتنسيق العلوي ولكني استخدم هذه الميكرو في Excel لقد حصلت على هذا
07/08/1998 ، سبعة عشر ألفًا وتسعمائة وثمانية وتسعين وهو أمر غير مفيد
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، MAX ، لقد قمت بتعديل VBA ، من فضلك حاول إخباري إذا كان يعمل. شكرًا.
Function DateToWords(ByVal xRgVal As Date) As String
'UpdatebyExtendoffice20170926
    Dim xYear As String
    Dim Decades As String
    Dim years As String
    Dim xTensArr As Variant
    Dim xyearArr As Variant
    Dim xOrdArr As Variant
    Dim xCardArr As Variant
    xOrdArr = Array("First", "Second", "Third", _
                   "Fourth", "Fifth", "Sixth", _
                   "Seventh", "Eighth", "Nineth", _
                   "Tenth", "Eleventh", "Twelfth", _
                   "Thirteenth", "Fourteenth", _
                   "Fifteenth", "Sixteenth", _
                   "Seventeenth", "Eighteenth", _
                   "Nineteenth", "Twentieth", _
                   "Twenty-first", "Twenty-second", _
                   "Twenty-third", "Twenty-fourth", _
                   "Twenty-fifth", "Twenty-sixth", _
                   "Twenty-seventh", "Twenty-eighth", _
                   "Twenty-nineth", "Thirtieth", _
                   "Thirty-first")
    xCardArr = Array("", "One", "Two", "Three", "Four", _
                   "Five", "Six", "Seven", "Eight", "Nine", _
                   "Ten", "Eleven", "Twelve", "Thirteen", _
                   "Fourteen", "Fifteen", "Sixteen", _
                   "Seventeen", "Eighteen", "Nineteen")
    xTensArr = Array("Twenty", "Thirty", "Forty", "Fifty", _
               "Sixty", "Seventy", "Eighty", "Ninety")
    xYear = CStr(Year(xRgVal))
    
    
      xyearArr = Array("", "One", "Two", "Three", "Four", _
                   "Five", "Six", "Seven", "Eight", "Nine", _
                   "Ten", "Eleven", "Twelve", "Thirteen", _
                   "Fourteen", "Fifteen", "Sixteen", _
                   "Seventeen", "Eighteen", "Nineteen", "Twenty", "Thirty", "Forty", "Fifty", _
               "Sixty", "Seventy", "Eighty", "Ninety")

    years = xyearArr(CInt(Year(xRgVal) / 100)) & " Hundred"
    
    Decades = Mid$(xYear, 3)
    If CInt(Decades) < 20 Then
        Decades = xCardArr(CInt(Decades))
    Else
        Decades = xTensArr(CInt(Left$(Decades, 1)) - 2) & "-" & _
                xCardArr(CInt(Right$(Decades, 1)))
    End If

    DateToWords = UCase(xOrdArr(Day(xRgVal) - 1) & _
                  Format$(xRgVal, " mmmm ") & _
                  years & " " & Decades)
End Function

تم تصغير هذا التعليق بواسطة المشرف على الموقع
07/08/1998 السابع والعشرون من آب (أغسطس) الثامن والعشرون
في هذا VBA لديك خطأ
تحويله 1998 لكنه يظهر مائة وعشرون ثمانية وتسعون
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، جرب هذا vba:
Function DateToWords(ByVal xRgVal As Date) As String
'UpdatebyExtendoffice20170926
    Dim xYear As String
    Dim Decades As String
    Dim years As String
    Dim xTensArr As Variant
    Dim xyearArr As Variant
    Dim xOrdArr As Variant
    Dim xCardArr As Variant
    xOrdArr = Array("First", "Second", "Third", _
                   "Fourth", "Fifth", "Sixth", _
                   "Seventh", "Eighth", "Nineth", _
                   "Tenth", "Eleventh", "Twelfth", _
                   "Thirteenth", "Fourteenth", _
                   "Fifteenth", "Sixteenth", _
                   "Seventeenth", "Eighteenth", _
                   "Nineteenth", "Twentieth", _
                   "Twenty-first", "Twenty-second", _
                   "Twenty-third", "Twenty-fourth", _
                   "Twenty-fifth", "Twenty-sixth", _
                   "Twenty-seventh", "Twenty-eighth", _
                   "Twenty-nineth", "Thirtieth", _
                   "Thirty-first")
    xCardArr = Array("", "One", "Two", "Three", "Four", _
                   "Five", "Six", "Seven", "Eight", "Nine", _
                   "Ten", "Eleven", "Twelve", "Thirteen", _
                   "Fourteen", "Fifteen", "Sixteen", _
                   "Seventeen", "Eighteen", "Nineteen")
    xTensArr = Array("Twenty", "Thirty", "Forty", "Fifty", _
               "Sixty", "Seventy", "Eighty", "Ninety")
    xYear = CStr(Year(xRgVal))
    
    
      xyearArr = Array("", "One", "Two", "Three", "Four", _
                   "Five", "Six", "Seven", "Eight", "Nine", _
                   "Ten", "Eleven", "Twelve", "Thirteen", _
                   "Fourteen", "Fifteen", "Sixteen", _
                   "Seventeen", "Eighteen", "Nineteen", "Twenty", "Thirty", "Forty", "Fifty", _
               "Sixty", "Seventy", "Eighty", "Ninety")

    years = xyearArr(Fix(Year(xRgVal) / 100)) & " Hundred"
    
    Decades = Mid$(xYear, 3)
    If CInt(Decades) < 20 Then
        Decades = xCardArr(CInt(Decades))
    Else
        Decades = xTensArr(CInt(Left$(Decades, 1)) - 2) & "-" & _
                xCardArr(CInt(Right$(Decades, 1)))
    End If

    DateToWords = UCase(xOrdArr(Day(xRgVal) - 1) & _
                  Format$(xRgVal, " mmmm ") & _
                  years & " " & Decades)
End Function

تم تصغير هذا التعليق بواسطة المشرف على الموقع
07/08/1998 السابع والعشرون من آب (أغسطس) الثامن والعشرون
في هذا VBA لديك خطأ
تحويله 1998 لكنه يظهر مائة وعشرون ثمانية وتسعون
لا توجد تعليقات منشورة هنا حتى الآن
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة

تواصل معنا

حقوق التأليف والنشر © 2009 - شبكة الاتصالات العالمية.extendoffice.com. | كل الحقوق محفوظة. مشغل بواسطة ExtendOffice. | | خريطة الموقع
Microsoft وشعار Office هما علامتان تجاريتان أو علامتان تجاريتان مسجلتان لشركة Microsoft Corporation في الولايات المتحدة و / أو دول أخرى.
محمي بواسطة Sectigo SSL