While learning OOP I stumbled into this problem.

Class clsCloth:
Code:
Public Color As String
Public Manufactor As String
Public IsFirstTimeViewed As Boolean
Main code:
Code:
Private Sub cmdClothe_Click(Index As Integer)
    dim ChoosenClothe as New clsCloth
    Call GetObjectDescription(ChoosenClothe.Color, ChoosenClothe.Manufactor, ChoosenClothe.IsFirstTimeViewed)
    Debug.Print ChoosenClothe.ClotheColor
End Sub
Sub GetObjectDescription(ByRef ClotheColor As String, ClotheManufactor As String, ByRef Viewed As Boolean)
    lblDescription.Caption = _
      "Color: " & ClotheColor & vbNewLine & _
      "Manufactor: " & ClotheManufactor & vbNewLine & _
      "WasInfoSeen: " & Viewed
    ClotheColor = "black"
End Sub
Now even though I change the ClotheColor (Which is connected byRef to ChoosenClothe.Color) the ChoosenClothe.Color doesn't change to black (As seen in the debug.Print, try it.
Now the question of the thread, why??