Hi folks,
here's my new dilema!
I have a userform which has 4 criteria at the top that filters data.
from that data i get a reference number and that is automatically placed into a cell.
that is then used to do a Vlookup and these lookups then complete the userform textboxes.
however if i change the filter it doesn't update the textboxes?
here's my code:
Private Sub CmdFilter_Click()
Dim Sprod As String
If FrmNew.CBProduct.Value = "Electricity" Then
Sprod = "E"
ElseIf FrmNew.CBProduct.Value = "Gas" Then
Sprod = "G"
End If
Application.ScreenUpdating = True
'select worksheet dependant on account type
If FrmNew.CBAccType.Value = "Touched" Then
Worksheets("Touched Work").Select
ElseIf FrmNew.CBAccType.Value = "Dayfiled" Then
Worksheets("Dayfiled").Select
End If
'filter data by product
If FrmNew.CBProduct.Value = "Electricity" Then
Selection.AutoFilter Field:=13, Criteria1:="E"
ElseIf FrmNew.CBProduct.Value = "Gas" Then
Selection.AutoFilter Field:=13, Criteria1:="G"
End If
'filter remaining data by age
If FrmNew.CBAccAge.Value = "Oldest" Then
Range("AT1").Select
Range("A1:CN7707").Sort Key1:=Range("AT1"), Order1:=xlDescending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
ElseIf FrmNew.CBAccAge.Value = "Newest" Then
Range("AT1").Select
Range("A1:CN7707").Sort Key1:=Range("AT1"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End If
'filter by billing type
If FrmNew.CBBilling.Value = "Monthly" Then
Selection.AutoFilter Field:=33, Criteria1:="Monthly"
ElseIf FrmNew.CBBilling.Value = "Quarterly" Then
Selection.AutoFilter Field:=33, Criteria1:="Quarterly"
End If
'select which sheet to pull the data from
If FrmNew.CBAccType.Value = "Touched" Then
Worksheets("Touched work").Select
ElseIf FrmNew.CBAccType.Value = "Dayfiled" Then
Worksheets("Dayfiled").Select
End If
Range("E2").Select
Do Until ActiveCell.Offset(0, 8).Value = Sprod
ActiveCell.Offset(1, 0).Select
Loop
Application.ScreenUpdating = True
Worksheets("Cover").Range("A6").Value = ActiveCell.Offset(0, 3).Value 'Bill Status
Worksheets("Cover").Range("A8").Value = ActiveCell.Offset(0, 1).Value 'New Flag
Worksheets("Cover").Range("A10").Value = ActiveCell.Offset(0, 65).Value ' Port Rec
Worksheets("Cover").Range("A12").Value = ActiveCell.Offset(0, 68).Value ' Unbilled Value
Worksheets("Cover").Range("A14").Value = ActiveCell.Offset(0, 20).Value ' Company Name
Worksheets("Cover").Range("A16").Value = ActiveCell.Offset(0, 66).Value ' Unbilled Reason
Worksheets("Cover").Range("A4").Value = ActiveCell.Value
'add the data into the userform
Worksheets("Cover").Range("A2").Value = FrmNew.CBAccType.Value
FrmNew.TxtCRN.Value = Worksheets("Cover").Range("A4").Value
FrmNew.TxtBillStatus.Value = Worksheets("Cover").Range("A6").Value
FrmNew.TxtFlag.Value = Worksheets("Cover").Range("A8").Value
FrmNew.TxtPRec.Value = Worksheets("Cover").Range("A10").Value
FrmNew.TxtUnVal.Value = Worksheets("Cover").Range("A12").Value
FrmNew.TxtCname.Value = Worksheets("Cover").Range("A14").Value
FrmNew.TxtReason.Value = Worksheets("Cover").Range("A16").Value
Worksheets("Cover").Activate
End Sub
Private Sub UserForm_Initialize()
FrmNew.CBAccType.AddItem "Touched"
FrmNew.CBAccType.AddItem "Dayfiled"
FrmNew.CBProduct.AddItem "Electricity"
FrmNew.CBProduct.AddItem "Gas"
FrmNew.CBAccAge.AddItem "Oldest"
FrmNew.CBAccAge.AddItem "Newest"
FrmNew.CBRoot.AddItem "BER Amendment"
FrmNew.CBRoot.AddItem "Cross License Tranfer"
FrmNew.CBRoot.AddItem "Crossed MTR"
FrmNew.CBRoot.AddItem "Datafix"
FrmNew.CBRoot.AddItem "De-aggregation Issue"
FrmNew.CBRoot.AddItem "Demolition"
FrmNew.CBRoot.AddItem "Duplicate"
FrmNew.CBRoot.AddItem "EP Mismatch"
FrmNew.CBRoot.AddItem "ET"
FrmNew.CBRoot.AddItem "GUTO Issue"
FrmNew.CBRoot.AddItem "Isolation Issue"
FrmNew.CBRoot.AddItem "Late Set Up"
FrmNew.CBRoot.AddItem "Metering issue/Dispute"
FrmNew.CBRoot.AddItem "Migration Issue"
FrmNew.CBRoot.AddItem "New Connection"
FrmNew.CBRoot.AddItem "Portfolio Rec"
FrmNew.CBRoot.AddItem "Registration Issue"
FrmNew.CBRoot.AddItem "Script Errors"
FrmNew.CBRoot.AddItem "Split Accounts"
FrmNew.CBRoot.AddItem "Unoccupied Account"
FrmNew.CBRoot.AddItem "Unsupported Meter"
FrmNew.CBBilling.AddItem "Monthly"
FrmNew.CBBilling.AddItem "Quarterly"
Dim lpbuff As String * 25
Dim ret As Long
Dim StrName As String
Dim StrSheet As String
StrSheet = FrmNew.CBAccType.Value
ret = GetUserName(lpbuff, 25)
StrName = Left(lpbuff, InStr(lpbuff, Chr(0)) - 1)
FrmNew.TxtKID.Value = StrName
End Sub
Thanks for reading my thread and thanks to that that help or at least try to
Bookmarks