نمایش اطلاعات مربوط به ایتمی از کمبو باکس در تکست باکس

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

    • 2017/01/05
    • 16

    [حل شده] نمایش اطلاعات مربوط به ایتمی از کمبو باکس در تکست باکس

    سلام
    من نام کارمندان را در ستون "A" تحت عنوان cboName و شماره کارمندی انها را در ستون "B" در sheet1 دارم. حالا میخوام وقتی در فرم اسم کارمندی رو از cboName انتخاب کردم شماره کارمندی اون شخص در txtEmployeeNumber نمایش داده شود
    کد زیر رو تو Userform module قرار دادم ولی خطای Combile error "Object not defined " میده .
    کد:
    Option Explicit
    
    Private Sub cboName_Change()
    
    txtEmployeeNumber.Value = Worksheets("Sheet2").Cells(cboName.ListIndex + 2, 2)
    
    End Sub
    
     
    Private Sub UserForm_Initialize()
    
    Dim LastRow As Long
    
    cboName.Clear
    With Worksheets("Sheet4") '<--replace "Sheet4" with the sheet you have your employees data
        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
        cboNames.List = Application.Transpose(.Range("A2:A" & LastRow).Value)
    End With
    
    End Sub
    کد:
    txtEmployeeNumber.Value = Worksheets("Sheet4").Cells([COLOR=#B22222][B]cboName[/B][/COLOR].ListIndex + 2, 2)


    بعضی میگن کد ایرادی نداره، بعضی میگن txtEemployeeNumber.value اشتباهه و باید txtEmployeeNumber.Text بشه اما هیچکدوم جواب نداد.
    من فایل رو پیوست میکنم و امیدوارم دوستان بررسی و راهنمایی کنند.
    سپاس
    فایل های پیوست شده
  • rasools13

    • 2017/01/20
    • 360
    • 80.00

    #2
    سلام از کد ذیل استفاده کنید
    تست کردم کار میکنه
    کد PHP:
    Private Sub cboName_Change()
        
    Dim EName As String
        Dim Row 
    As Integer
        EName 
    Me.cboName.Text
        With Application
    .WorksheetFunction
            Row 
    = .Match(ENameSheets("sheet1").Range("A2:A100"), 0)
            
    txtEmployeeNumber.Text = .Index(Sheets("sheet1").Range("B2:B100"), Row)
        
    End With
    End Sub 
    [CENTER][B]بهترین راه ذخیره زمان(یادگیری)،،حل مشکلات دیگران است
    [COLOR=#0000ff]مشکلات دیگران، روزی مشکلات ما هم خواهد شد[/COLOR][/B][COLOR=#ff0000][B][FONT=arial][/FONT][/B][/COLOR]
    [/CENTER]

    کامنت

    • mortezataheri

      • 2017/01/05
      • 16

      #3
      نوشته اصلی توسط rasools13
      سلام از کد ذیل استفاده کنید
      تست کردم کار میکنه
      کد PHP:
      Private Sub cboName_Change()
          
      Dim EName As String
          Dim Row 
      As Integer
          EName 
      Me.cboName.Text
          With Application
      .WorksheetFunction
              Row 
      = .Match(ENameSheets("sheet1").Range("A2:A100"), 0)
              
      txtEmployeeNumber.Text = .Index(Sheets("sheet1").Range("B2:B100"), Row)
          
      End With
      End Sub 
      سلام کد شما رو به صورت زیر اصلاح کردم تا رو فایل بنده جواب بده.خیلی از لطف شما ممنونم
      کد:
      Private Sub cboName_Change()
          Dim EName As String
          Dim Row As Integer
         [COLOR=#b22222] EName = cboName.Text[/COLOR]
          With Application.WorksheetFunction
              Row = .Match(EName, Sheets("sheet1").Range("A2:A100"), 0)
              txtEmployeeNumber.Text = .Index(Sheets("sheet1").Range("B2:B100"), Row)
          End With
      End Sub

      کامنت

      چند لحظه..