Sheet3のデータをB列をキーにしてソートするプログラム(Sheet1のボタンで起動する)
おそらく通常ですとコンパイルエラーが発生すると思います。
一部の関数(下記では.sortによるキーソート)では、シートをアクティブな状態にしないとプログラムが走りません。
このような時は下記のようにWorksheets("Sheet3").Activateで対象シートをアクティブな状態にしてから、関数を走らせるとコンパイルエラーを回避出来ます。
Sub 並べ替え() Worksheets("Sheet3").Activate Sheets("Sheet3").Range(Range("B2"), Range("C" & Cells.Rows.Count)).Sort Range("A1") End Sub