چگونگی درج اتوماتیک جداکننده هزارگان هنگام تایپ در اکسل ؟

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • farshadbandari
    • 2016/11/24
    • 4

    چگونگی درج اتوماتیک جداکننده هزارگان هنگام تایپ در اکسل ؟

    سلام خدمت همه دوستان
    من یه مشکلی تو اکسل دارم، زمانی که تو یه فیلد یه عدد مثلا 5 رقمی رو وارد میکنم هنگام تایپ، اون جدا کننده هزارگان نمایش داده نمیشه و حتما باید برم فیلد بعدی تا اون جداکننده هزارگان نمایش داده بشه، خواستم بدونم راهی هست که همون موقع تایپ کردن اعداد اون جداکننده هزارگان نمایش داده بشه؟

    هنگام تایپ کردن به این شکله
    Click image for larger version

Name:	Capture.PNG
Views:	1
Size:	2.1 کیلو بایت
ID:	145057

    و هنگام خروج از اون سلول به این شکل میشه
    Click image for larger version

Name:	klghjfd.PNG
Views:	1
Size:	1.7 کیلو بایت
ID:	145058

    من میخوام همون موقع تایپ اون جداکننده هزارگان نمایش داده بشه، اگه راه حلی برای این موضوع دارید ممنون میشم راهنمایی کنید
  • rahi_feri

    • 2014/08/08
    • 524
    • 94.67

    #2
    سلام
    با همفکری با برخی از دوستان به این نتیجه رسیدم که امکان پذیر هست ولی شدنی نیست! یعنی با استفاده از روش های دیگه میشه!
    یعنی میشه با textbox هایی که داخل سلول قرار می گیرند این کار رو کرد که این کد به همراه توضیحات :
    The font always overfills the TextBox so you will probably need to change the row spacing (or make the TextBox font smaller).

    Add an ActiveX TextBox named TextBox1 to the Worksheet then paste this code into the code module for that Sheet.
    Every time the Selection changes, the TextBox moves into that Cell.
    When you enter a number it formats it and displays it as you go along.

    کد:
    Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
        With TextBox1
            If IsNumeric(.Value) Then .Value = Format(.Value, "#,##0")
            ActiveCell = .Value
        End With
    End Sub
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Target.CountLarge <> 1 Then Exit Sub
        With Me.TextBox1
            .Value = Target
            If IsNumeric(.Value) Then .Value = Format(.Value, "#,##0")
            .Top = ActiveCell.Top
            .Left = ActiveCell.Left
            .Height = ActiveCell.Height
            .Width = ActiveCell.Width
            .Activate
        End With
    End Sub
    [B][SIZE=1]بخش امضاء :
    [/SIZE][/B][LEFT]
    [CODE]
    Sub Macro()
    ActiveCell = "IY" & Right(Application.Name, 5)
    With ActiveCell.Characters(Start:=2, Length:=1).Font
    .Name = "Webdings"
    .Color = 255
    End With
    End Sub
    [/CODE]
    [/LEFT]

    کامنت

    چند لحظه..