Private Sub UserForm_Initialize()
    Activitycmbx.RowSource = Getlst("D", "ADMIN!")
    ListBox1.RowSource = getlistmulti("TEMP", "A", "H")
End Sub
'For auto update with single coumn
Private Function Getlst(str As String, Shet As String) ' As String
Dim i As Byte
i = 2
    Do
        If IsEmpty(ThisWorkbook.Worksheets("ADMIN").Range(str & i)) = False Then
            i = i + 1
        End If
    Loop Until IsEmpty(ThisWorkbook.Worksheets("ADMIN").Range(str & i)) = True
    Getlst = Shet & str & "2:" & str & (i - 1)
End Function

'For auto update with multi coumn
Function getlistmulti(sheet As String, clmn1 As String, clmn2 As String)
Dim i As Integer
    i = Application.WorksheetFunction.CountA(Sheets(sheet).Range(clmn1 & ":" & clmn1))
    getlistmulti = sheet & "!" & clmn1 & 1 & ":" & clmn2 & i
End Function

Private Sub UserForm_Initialize()
'ComboBox1.RowSource = ThisWorkbook.Sheets("Sheet1").Range("A1:A12")
 Dim TheList As Variant
    TheList = Array("Apple", "Orange", "Berry", "Banana", "Peach")
    ComboBox1.List = TheList
End Sub
RangeStr = "'[" & ThisWorkbook.Name & "]" & .Name & "'!" & .Cells(2, 1).Address & ":" & .Cells(rw, cl).Address