Try this - assumes all columns have the same number of populated rows
Dim LastRow As Long, I As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Application.ScreenUpdating = False
For I = 1 To LastRow
If WorksheetFunction.CountA(Rows(I)) = 0 Then Rows(I).EntireRow.Hidden = True
Application.ScreenUpdating = True
I think I understand. The rows on Master should be hidden until an entry is made in that
same row on the Slave sheet. (yes?)
Here's something that will unhide the Master row when an entry is made in Slave, and
re-hide the row in Master if the data in that row on Slave is deleted, resulting in a
completely blank row again.
To install this, right click the sheet tab for the Slave sheet and choose View code.
Copy the code from here & paste it into the white area that is the sheet module.
(Press Alt+Q to get back to your sheet after pasting.)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Dim ThisRow As Long
ThisRow = Target.Row
Sheets("Master").Rows(ThisRow).Hidden = _
Application.WorksheetFunction.CountA(Rows(ThisRow).EntireRow) = 0
Note, this is designed to only work on single cell changes in your Slave sheet.
What about the cell do you want to be editable. There are some tricks out there but for the most part an editable cell is completely editable. You can force passwords, you can protect the sheet and allow certain things though.