ipbr21054
Well-known Member
- Joined
- Nov 16, 2010
- Messages
- 5,738
- Office Version
- 2007
- Platform
- Windows
Hi,
Ive touched on this before but never solved it so now having a clear head im trying once again.
I have a userform which once the fields are completed i press CommandButton1 which transfers the data to my worksheet & then sorts column A from
A-Z so far this is ok.
My problem is that column B C E are numbers.
So lets say cell B49 has the value 1991 in it.
In the cell at the top left corner is a small marker.
I also have filters so if i use the code at the bottom of this post "which is on a button" to sort the year from oldest "top of page" to newest "going down the page" the year 1991 is last.
All the years are correct down the worksheet apart from 1991 being last.
The same issue also resides for column C and E of which are also numbers
USERFORM TO WORKSHEET CODE
SORT FILTER
Ive touched on this before but never solved it so now having a clear head im trying once again.
I have a userform which once the fields are completed i press CommandButton1 which transfers the data to my worksheet & then sorts column A from
A-Z so far this is ok.
My problem is that column B C E are numbers.
So lets say cell B49 has the value 1991 in it.
In the cell at the top left corner is a small marker.
I also have filters so if i use the code at the bottom of this post "which is on a button" to sort the year from oldest "top of page" to newest "going down the page" the year 1991 is last.
All the years are correct down the worksheet apart from 1991 being last.
The same issue also resides for column C and E of which are also numbers
USERFORM TO WORKSHEET CODE
Code:
Private Sub CommandButton1_Click() Dim i As Integer
Dim ControlsArr As Variant, ctrl As Variant
Dim x As Long
For i = 1 To 6
With Me.Controls("ComboBox" & i)
If .ListIndex = -1 Then
MsgBox "MUST SELECT ALL OPTIONS", 48, "SKP IMMO LIST TRANSFER"
.SetFocus
Exit Sub
End If
End With
Next i
ControlsArr = Array(Me.ComboBox1, Me.ComboBox2, Me.ComboBox3, Me.ComboBox4, Me.ComboBox5, Me.ComboBox6)
With ThisWorkbook.Worksheets("SKPLIST")
.Range("A4").EntireRow.Insert Shift:=xlDown
.Range("A4:F4").Borders.Weight = xlThin
.Range("A4:F4").Value = ControlsArr
End With
For Each ctrl In ControlsArr
ctrl.Text = ""
Next
Application.ScreenUpdating = False
With Sheets("SKPLIST")
If .AutoFilterMode Then .AutoFilterMode = False
x = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("A3:F" & x).Sort key1:=Range("A4"), order1:=xlAscending, Header:=xlGuess
End With
ActiveWorkbook.Save
Application.ScreenUpdating = True
Sheets("SKPLIST").Range("A4").Select
MsgBox "Database Has Been Updated", vbInformation, "SUCCESSFUL MESSAGE"
Me.ComboBox1.SetFocus
End Sub
SORT FILTER
Code:
Private Sub ImmoYearButton_Click()
Dim x As Long
Application.ScreenUpdating = False
With Sheets("SKPLIST")
If .AutoFilterMode Then .AutoFilterMode = False
x = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("A3:F" & x).Sort key1:=Range("B4"), order1:=xlAscending, Header:=xlGuess
End With
ActiveWorkbook.Save
Application.ScreenUpdating = True
Sheets("SKPLIST").Range("A4").Select
End Sub