As pointed out in the comments above this is a rather odd way of initializing the ComboBox because this code runs each time you are changing the value of the ComboBox. It would be better to run this code only once (when the Excel file is being opened or when you activate that sheet or with some other event).
Yet, if you want to stick with the above approach then I suggest the following solution:
Option Explicit
Sub ComboBox1_Change()
Dim tmp As String
With Sheet1.ComboBox1
tmp = .Value
.Clear
.AddItem "0"
.AddItem "5"
.AddItem "10"
.AddItem "25"
.AddItem "30"
.Value = tmp
End With
End Sub

Private Sub Workbook_Open()? I set up my combo box data here so it is available when the worksheet opensWithto clear any previous content. Also use.ListIndex = 0before theEnd Withto set the initial index value (i.e. show a blank)