Hi there and welcome to the forum.
The WorkSheet_Change event is only triggered by a change in the sheet to which it attached. If you want to sort Sheet1 with a change in either Sheet1 or Sheet 2 then you would have to have a WorkSheet_Change event in both of the sheet modules that call a common 'sort' sub in a code module. Something like (Not tested):
Sheet1 code
Public Sub WorkSheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B:B")) Is Nothing Then SortS1B 'Or whatever criteria you want to detect in sheet1
End Sub
Sheet2 code
Public Sub WorkSheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B:B")) Is Nothing Then SortS1B
End Sub
Module1 code
Sub SortS1B()
Application.EnableEvents = False
Sheet1.Range("B1").Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Application.EnableEvents = True
End Sub
To sort when you open the workbook:
ThisWorkbook code
Private Sub Workbook_Open()
SortS1B
End Sub
Best regards
Paul Ked
PS, please use the Code tags to wrap code, it makes for much easier reading.