اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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


siso3
إذهب إلى أفضل إجابة Solved by lionheart,

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

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

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

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

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

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

                                          مثال للتوضيح والتعديل عليهتحديد لغة الباركود.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
رابط هذا التعليق
شارك

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