اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

السلام عليكم ورحمة الله وبركاته

فى البداية: احب ان اقدم شكري وتقديري لجميع اعضاء وافراد المنتدى لما يقدموه من اسهامات ومجهودات في عطاءاتهم الوفيرة والغزيرة وجزاكم الله عنا خير الجزاء.

الطلب مطلوب كود لتغيير اللغة عربي وإنجليزي في اعمده معينة

واخيرا تحياتي للجميع مع دعواتي بان يزيدكم الله من علمه

والسلام عليكم ورحمة الله وبركاته

                                          مثال للتوضيح والتعديل عليهتحديد لغة الباركود.xlsx

المطلوب جعل الكتابة فى عمود الباركود ذو اللون الاخضر يتحول تلقائيا الى اللغة الانجليزية

ثم  فى باقى الاعمدة تلقائيا يتحول المؤشر الى اللغة العربية

قام بنشر

لتغيير لغة عربية إلى لغة إنجليزية في عمود معين في Excel:

 

Sub ChangeArabicEnglish() 

    Dim i, j As Integer 

    For i = 1 To 10 

        For j = 1 To 10 

            Cells(i, j).Value = StrConv(Cells(i, j).Value, vbProperCase) 

        Next j 

    Next i 

End Sub

 

هذا الكود سوف يحول أي نص عربي في العمود المحدد للغة إنجليزية. يمكنك أيضًا تحديد عمود أو صف يحتوي على النص الذي تريد تغييره إلى إنجليزي، عن طريق تحديد الخطوة الاخيرة في الأوامر في الكود أعلاه.

  • أفضل إجابة
قام بنشر

In standard module put the following code

#If Win64 Then
    Private Declare PtrSafe Function GetKeyboardLayout Lib "user32" (ByVal idThread As Long) As Long
    Private Declare PtrSafe Function Keyboard Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal ss As String, ByVal sss As Long) As LongPtr
#Else
    Private Declare Function GetKeyboardLayout Lib "user32" (ByVal idThread As Long) As Long
    Private Declare Function Keyboard Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal ss As String, ByVal sss As Long) As Long
#End If

Public Function GetCurrentKeyboardLayout() As String
    GetCurrentKeyboardLayout = Hex(GetKeyboardLayout(0))
End Function

Public Sub SetEnglish()
    Call Keyboard("00000409", 1)
End Sub

Public Sub SetArabic()
    Call Keyboard("00000401", 1)
End Sub

 

Then in worksheet module put the following code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 2 Then
        If GetCurrentKeyboardLayout = "00000409" Then Exit Sub
        Call SetEnglish
    Else
        If GetCurrentKeyboardLayout = "00000401" Then Exit Sub
        Call SetArabic
    End If
End Sub

 

  • Like 3
  • Thanks 1
قام بنشر

@lionheart

#lionheart

شكرا جدا الطريقة شغالة تمام

ولكن السؤال لو انا عايز اعمل اكتر من عمود 

يعنى العمود رقم 2 والعمود رقم4 والعمود رقم7

يكونوا باللغة الانجليزية وباقي الشيت عربي

لو فيه طريقة اكون شاكر جدا لحضرتك

في 6‏/2‏/2023 at 16:46, lionheart said:

In standard module put the following code

#If Win64 Then
    Private Declare PtrSafe Function GetKeyboardLayout Lib "user32" (ByVal idThread As Long) As Long
    Private Declare PtrSafe Function Keyboard Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal ss As String, ByVal sss As Long) As LongPtr
#Else
    Private Declare Function GetKeyboardLayout Lib "user32" (ByVal idThread As Long) As Long
    Private Declare Function Keyboard Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal ss As String, ByVal sss As Long) As Long
#End If

Public Function GetCurrentKeyboardLayout() As String
    GetCurrentKeyboardLayout = Hex(GetKeyboardLayout(0))
End Function

Public Sub SetEnglish()
    Call Keyboard("00000409", 1)
End Sub

Public Sub SetArabic()
    Call Keyboard("00000401", 1)
End Sub

 

Then in worksheet module put the following code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 2 Then
        If GetCurrentKeyboardLayout = "00000409" Then Exit Sub
        Call SetEnglish
    Else
        If GetCurrentKeyboardLayout = "00000401" Then Exit Sub
        Call SetArabic
    End If
End Sub

 

 

قام بنشر
في 6‏/2‏/2023 at 16:11, كريم نظيم said:

لتغيير لغة عربية إلى لغة إنجليزية في عمود معين في Excel:

 

Sub ChangeArabicEnglish() 

    Dim i, j As Integer 

    For i = 1 To 10 

        For j = 1 To 10 

            Cells(i, j).Value = StrConv(Cells(i, j).Value, vbProperCase) 

        Next j 

    Next i 

End Sub

 

هذا الكود سوف يحول أي نص عربي في العمود المحدد للغة إنجليزية. يمكنك أيضًا تحديد عمود أو صف يحتوي على النص الذي تريد تغييره إلى إنجليزي، عن طريق تحديد الخطوة الاخيرة في الأوامر في الكود أعلاه.

استاذ كريم نظيم

شكرا لحضرتك للاهتمام ومحاولة المساعدة

ولكن للاسف انا مافهمتش انا ممكن اطبق الطريقة دى ازاى

وده طبعا بسبب فهمى القاصر وقلة علمى

ولو امكن من حضرتك تطبيقها على المثال المرفق علشان تساعدنى على الفهم

واخيرا تحياتى واحترامى لحضرتك وشكرا للمساعدة

  • Like 1
قام بنشر

lionheart   

 ياباشا لك منى جزيل الشكر ووافر الاحترام والتقدير

واسف جدا تعبت حضرتك معاية

واخيرا مقدرش اوفيك حقك الا بدعوى خالصة من القلب

جزاك الله خيرا

 

  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information