返回列表 上一主題 發帖

[發問] comBobox如何同時也能取出已變更定義後的參照範圍呢?

[發問] comBobox如何同時也能取出已變更定義後的參照範圍呢?

各位大大好:

  有一MULTIPAGE表單,其名稱為
員工基本資料。並配有comBobox6
其用途為供使用者可選取員工姓名之用。

  現小弟之問題為在新增員工時,選取“新增”按鈕
新增員工;並同時設有直接變更定義名稱
的參照範圍。之後選取comBobox6發現其內的參照範圍
並未改變;其結果也就無法取得已新增的
員工姓名。請問comBobox6應如何修改才
可成功取得實際參照範圍呢?
其語法如下:

Private Sub ComboBox6_Change()
    Dim mAr1 As Variant
    Dim mStr1$, mStr1a$
    Dim mSht1 As Worksheet
    Dim mRng1 As Range, mRng1a As Range
   
    Set mSht1 = Worksheets("員工基本資料")
    mSht1.Select
   
    With mSht1
        
        Set mRng1 = Range("員工基本資料")
        
        With mRng1
            
            mAr1 = mRng1.Offset(1, 1).Resize(.Rows.Count - 1, 1).Value
            mAr1 = WorksheetFunction.Transpose(mAr1)
            
            With ComboBox6
                .Width = .Width * 1
                .ColumnCount = 1
                .List = mAr1
                .Value = .List(.ListIndex)
                mStr1 = .Value
                '.SetFocus
            End With
        End With
        
        Set mRng1a = mRng1.Columns(2).Find(what:=mStr1, lookat:=xlWhole, searchorder:=xlByRows)
        If Not mRng1a Is Nothing Then
            
            'MsgBox mRng1a.Value
            TextBox1.Value = mRng1a.Offset(, -1).Value
            TextBox2.Value = mRng1a.Value
            TextBox3.Value = mRng1a.Offset(, 1).Value
            TextBox4.Value = mRng1a.Offset(, 2).Value
            TextBox5.Value = mRng1a.Offset(, 3).Value
            TextBox6.Value = mRng1a.Offset(, 4).Value
            TextBox7.Value = mRng1a.Offset(, 5).Value
            TextBox8.Value = mRng1a.Offset(, 7).Value
            
            mStr1a = mRng1a.Offset(, 6).Value         
            
            
            If mStr1a = "在職" Then
                OptionButton1.Value = True
            ElseIf mStr1a = "離職" Then
                OptionButton2.Value = True
            End If            
                       
            mRng1a.Offset(, -1).Select            
        End If   
               
    End With
   
    Set mSht1 = Nothing
    Set mRng1 = Nothing
    Set mRng1a = Nothing   
   
End Sub

感恩大大!

mTest.rar (92.12 KB)

謝謝版主大大。

  小弟試著依版主大大的方式,
目前還是沒能達成小弟的須求。
其comBobox6依然一樣無法
取得定義名稱修正後的參照範圍。
  不知是否另有可突破的方式呢?

感恩大大!

TOP

版主大大。

小弟已測試成功了。
真感謝版主大大的相助。
讓小弟能放下心中的一塊
石頭了。

感恩大大!

TOP

        靜思自在 : 原諒別人就是善待自己。
返回列表 上一主題