Try using a worksheet change event.
Put this code into the worksheet module of the desired sheet ...
Option Explicit
Option Compare Text
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$3" Then Exit Sub 'not C3
If Selection.Count > 1 Then Exit Sub 'multiple selections
Select Case Target.Value
Case "org 1"
Me.Cells.EntireRow.Hidden = False
Me.Rows("24:48").Hidden = True
Case "8880015"
Me.Cells.EntireRow.Hidden = False
Me.Rows("33:47").Hidden = True
Case "88800002"
Me.Cells.EntireRow.Hidden = False
Me.Rows("25:39").Hidden = True
Case Else
Me.Cells.EntireRow.Hidden = False
End Select
End Sub
And I'm not sure what you're trying to do with the routine you posted, but you could maybe shorten it to ..
Option Explicit
Sub Macro1()
Dim CurrentSheet As String
CurrentSheet = ActiveSheet.Name
Sheets("NON II (2)").Select
STS = EssVRetrieve32(CurrentSheet, Range("RetrieveExP"), 1)
Cells.Select
Call Replace_NoData
Sheets(CurrentSheet).Select
End Sub
I'm not sure how needed the Select's really are, but if you can get rid of them, I'd do it. You'll just slow down your code if you don't.
HTH