Comentado: Te dejo un código para el pase a la hoja activa ...
Pero si declaraste una hoja con Set significa que no es la hoja activa. En ese caso necesitas anteponer la hoja a cada rango o referencia. Revisa tu libro porque seguramente los datos fueron a la hoja que tenías activa en ese momento ;)
Cualquiera de las 2 sintaxis son correctas: h1.Range("G" & x) o h1.Cells(x, "G")
Nota: no se qué pasa con el Snippet que no me deja cargar el código... te lo dejo copiado aquí:
Private Sub CommandButton2_Click() 'pase a la hoja 'Hoja1'
'x Elsamatilde
Set h1 = Sheets("Hoja1")
'control de filas
If h1.[C16] <> "" Then
MsgBox "Se llegó al límite de la tabla" 'si la tabla aún está vacía x puede ser < a fila 6
Else
'primer fila disponible
x = h1.[C17].End(xlUp).Row + 1
'si la tabla está vacía x dará una fila < a 5
If x < 5 Then x = 5
h1.Range("C" & x) = TextBox1
h1.Range("D" & x) = TextBox2
h1.Range("F" & x) = Val(TextBox3)
h1.Range("G" & x) = Val(TextBox4)
h1.Range("H" & x) = h1.Cells(x, "G") * h1.Cells(x, "F")
End If
End Sub
PD) Ya no empieza en fila 6 sino en 5... ya no tienes 5 controles Textbox sino 4 y tu primer imagen muestra un rango de C:G y ahora parece que es hasta H. Debieras dejar los detalles con precisión así luego no tendrás dificultades para adaptar las macros que se te envían.
Sdos!