تیره دار کردن کد ملی در vba

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

    • 2015/09/20
    • 67

    [حل شده] تیره دار کردن کد ملی در vba

    سلام دوستان خسته نباشین. قبلا برای تیره دار کردن کد ملی و کدپستی از دوستان زحمت کشیدن فرمول رو در انجمن گذاشتن. حالا میخوام همین فرمول رو تو ویژوال بیسیک اکسل اجرا کنم. دوستان اگه زحمت بکشن کد vba رو بزارن ممنون میشم.

    کد ملی :
    کد PHP:
    CONCATENATE(LEFT(A1;3);"-";MID(A1;4;6);"-";RIGHT(A1;1))) 
    کدپستی :
    کد PHP:
    CONCATENATE(LEFT(C1;5);"-";RIGHT(C1;5))) 
  • shamsololama

    • 2010/02/15
    • 940

    #2
    با درود فراوان

    کد PHP:


    Range("A1").Value

    Left(m3) & "-" Mid(m46) & "-" Mid(m101)

    Range("A1").Value 
    ---------------------------------------------------------------------------------------------------
    بمانیم تا کاری کنیم ،نه کاری کنیم تا بمانیم [size=x-small](دکتر شریعتی)[/size]
    shamsololama@yahoo.com
    09177733411

    کامنت

    • amir0914

      • 2015/09/20
      • 67

      #3
      ممنون، فقط این فرمول فقط برای سلول a1 هست من کلی کد ملی دارم چطوری میشه این فرمول رو برای کل سلول های ستون a اعمال کرد؟؟

      کامنت

      • iranweld

        • 2015/03/29
        • 3341

        #4
        با سلام

        از ماکرو ذیل استفاده کنید

        کد ملی میتواند بصورت هشت رقمی و نه رقمی (کدهای ملی که ابتدای آنها صفر است) و ده رقمی باشد

        کد PHP:
        Sub TEST()

        Z1 Sheet1.Cells(Sheet1.Rows.Count"A").End(xlUp).Row

        For 1 To Z1

        If IsNumeric(Range("A" I)) And Len(Range("A" I)) = 10 Then

        Range
        ("A" I).NumberFormat "@"

        Range("A" I) = Left(Range("A" I), 3) & "-" Mid(Range("A" I), 46) & "-" Right(Range("A" I), 1)

        ElseIf 
        IsNumeric(Range("A" I)) And Len(Range("A" I)) = 9 Then

        Range
        ("A" I).NumberFormat "@"

        Range("A" I) = "0" Left(Range("A" I), 2) & "-" Mid(Range("A" I), 36) & "-" Right(Range("A" I), 1)


        ElseIf 
        IsNumeric(Range("A" I)) And Len(Range("A" I)) = 8 Then

        Range
        ("A" I).NumberFormat "@"

        Range("A" I) = "00" Left(Range("A" I), 1) & "-" Mid(Range("A" I), 26) & "-" Right(Range("A" I), 1)

        End If

        Next I

        End Sub 
        فایل های پیوست شده
        Last edited by iranweld; 2016/03/03, 13:25.

        کامنت

        چند لحظه..