Hello

I am totally new to VBA so please excuse my lack of basic knowledge AND I hope I am explain my issue clearly.
Fell free to give me pointers on shortcuts and writing better code
Thanks in advance

I would like my code to do the following:
If the value of 'Total' > 0 then I would like to unhide fields. If it is 0 then hide fields.
My workbook has multiple woksheets

My questions is

1. where do I put this code in VBA. Using trial and error in different macro places.
Sub Worksheet_Change(ByVal Target As Range)

2. keep getting syntax errors or my code does not run or is 'out of range'

3. Right now I created a button and it works when user clicks on button but I would like to change it to work when the user enters a 'Total' > 0
Code:

Sub Btn1_Click()
If ThisWorkbook.Worksheets("Sheet_stuff").Range("J59").Value = 0 Then
ThisWorkbook.Worksheets("Sheet_stuff").Range("B:P").EntireRow.Hidden = False
ThisWorkbook.Worksheets("Sheet_stuff").Rows("61:70").EntireRow.Hidden = True
Else
ThisWorkbook.Worksheets("Sheet_stuff").Range("B:P").EntireRow.Hidden = False
ThisWorkbook.Worksheets("Sheet_stuff").Rows("61:70").EntireRow.Hidden = False
End If
End Sub

Bonus: I would like to dynamically create rows based on the total entered instead of hiding and displaying fields then ie. If total = 3 then insert 3 rows for user to input