تغییر نام انگلیسی نام ها به فارسی

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • em@d

    • 2019/08/27
    • 16

    [حل شده] تغییر نام انگلیسی نام ها به فارسی

    با سلام و احترام

    چطور میتونم از طریق ماکرو نام های دو ردیف رو با هم تعویض کنم

    چون تعداد نام ها زیاده و در Sheet های مختلف پراکنده هستند حتماً باید از دستور Replace روی Workbook استفاده بشه

    مثلاً در نمونه زیر میخوام نام های فارسی رو با مشابه انگلیسی تعویض کنم.

    ماکرو.xlsx
  • generalsamad
    مدير تالار توابع

    • 2014/06/22
    • 1496

    #2
    با سلام
    شما یک مرجع از اسامی فارسی و انگلیسی دارید؟
    مثلا فارسی ها توی یک ستون و انگلیسی ها توی ستون دیگر و متناظر با هر سطر میخواهید اسامی فارسی در تمامی شیت ها جایگزین اسامی انگلیسی شود؟
    [CENTER]
    [SIGPIC][/SIGPIC]
    [/CENTER]

    کامنت

    • em@d

      • 2019/08/27
      • 16

      #3
      نوشته اصلی توسط generalsamad
      با سلام
      شما یک مرجع از اسامی فارسی و انگلیسی دارید؟
      مثلا فارسی ها توی یک ستون و انگلیسی ها توی ستون دیگر و متناظر با هر سطر میخواهید اسامی فارسی در تمامی شیت ها جایگزین اسامی انگلیسی شود؟
      بله دقیقاً

      کامنت

      • generalsamad
        مدير تالار توابع

        • 2014/06/22
        • 1496

        #4
        با سلام
        شیت 2 و 3 این فایل را امتحان کنید ببینید همین مد نظر هست؟

        فایل ضمیمه گردید
        فایل های پیوست شده
        [CENTER]
        [SIGPIC][/SIGPIC]
        [/CENTER]

        کامنت

        • em@d

          • 2019/08/27
          • 16

          #5
          نوشته اصلی توسط generalsamad
          با سلام
          شیت 2 و 3 این فایل را امتحان کنید ببینید همین مد نظر هست؟

          فایل ضمیمه گردید
          بله البته به صورت برعکس یعنی نامهای انگلیسی جایگزین نامهای فارسی بشن

          کامنت

          • generalsamad
            مدير تالار توابع

            • 2014/06/22
            • 1496

            #6
            کافیه جای ستونها را عوض کنید
            طبق فایل ضمیمه شده قبلی اینطور تغییر میکند
            کد PHP:
            Sub replaces()
                
            Dim Lr As Integer
                Lr 
            Sheet1.Cells(Rows.Count1).End(xlUp).Row
                
            For 1 To Lr
                Application
            .DisplayAlerts False
                    Cells
            .Replace What:=Sheet1.Range("B" i), Replacement:=Sheet1.Range("A" i), LookAt:=xlPart_
                        SearchOrder
            :=xlByRowsMatchCase:=FalseSearchFormat:=False_
                        ReplaceFormat
            :=False
                Next i
            End Sub 
            [CENTER]
            [SIGPIC][/SIGPIC]
            [/CENTER]

            کامنت

            • majid_mx4

              • 2012/06/25
              • 699

              #7
              با سلام
              با سپاس فراوان از جناب آقای generalsamad
              دستورات زیر برگرفته شده از کد جناب آقای generalsamad
              با این تفاوت که به کلیه شیت ها اعمال میشود (طبق درخواست شما )

              کد:
              Sub replaces2()
                  Dim Lr As Integer
                  Lr = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
                  For i = 1 To Lr
                  Dim sh As Worksheet
                  For Each sh In ThisWorkbook.Worksheets
                 
                  Application.DisplayAlerts = False
                   If sh.Name <> "Sheet1" Then
                     sh.Cells.Replace What:=Sheet1.Range("A" & i), Replacement:=Sheet1.Range("B" & i), LookAt:=xlPart, _
                          SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                          ReplaceFormat:=False
                 End If
               Next
                  
               Next i
                 
              End Sub
              پایدار باشید میر

              کامنت

              • em@d

                • 2019/08/27
                • 16

                #8
                سپاسگزارم از هر دو بزرگوار، با تغییر مقادیر ستون در این کدها مشکل حل شد

                کامنت

                چند لحظه..