Eliminar datos de las celdas en una Hoja Excel VBa

Nuevamente una duda.

¿Cómo puedo eliminar los datos que se muestran a continuación en la imagen?

Me refiero a que, después de completar los espacios en blanco y al dar clic en GUARDAR, éstos datos se registren en una hoja pero se eliminen de otra hoja.

De momento tengo éste código para guardar los registros en 2 hojas

Private Sub CommandButton1_Click()
Dim i As Integer
Dim j As Integer
For i = 2 To 3000
If Hoja9.Cells(i, 2) = "" Then
final = i
Exit For
End If
Next
Hoja9.Cells(final, 13) = UserForm27.TextBox1
Hoja9.Cells(final, 1) = UserForm27.TextBox2
Hoja9.Cells(final, 2) = UserForm27.TextBox3
Hoja9.Cells(final, 3) = UserForm27.TextBox4
Hoja9.Cells(final, 4) = UserForm27.TextBox5
Hoja9.Cells(final, 5) = UserForm27.TextBox6
Hoja9.Cells(final, 6) = UserForm27.TextBox7
Hoja9.Cells(final, 7) = UserForm27.TextBox8
Hoja9.Cells(final, 8) = UserForm27.TextBox9
Hoja9.Cells(final, 9) = UserForm27.TextBox10
Hoja9.Cells(final, 10) = UserForm27.TextBox11
Hoja9.Cells(final, 11) = UserForm27.TextBox12
Hoja9.Cells(final, 12) = UserForm27.TextBox13
Hoja9.Cells(final, 14) = UserForm27.TextBox14
Hoja9.Cells(final, 15) = UserForm27.TextBox15
Hoja9.Cells(final, 16) = UserForm27.TextBox16
Hoja9.Cells(final, 17) = UserForm27.TextBox17
Hoja9.Cells(final, 18) = UserForm27.TextBox18
Hoja9.Cells(final, 19) = UserForm27.TextBox19
Hoja10.Cells(final, 13) = UserForm27.TextBox1
Hoja10.Cells(final, 1) = UserForm27.TextBox2
Hoja10.Cells(final, 2) = UserForm27.TextBox3
Hoja10.Cells(final, 3) = UserForm27.TextBox4
Hoja10.Cells(final, 4) = UserForm27.TextBox5
Hoja10.Cells(final, 5) = UserForm27.TextBox6
Hoja10.Cells(final, 6) = UserForm27.TextBox7
Hoja10.Cells(final, 7) = UserForm27.TextBox8
Hoja10.Cells(final, 8) = UserForm27.TextBox9
Hoja10.Cells(final, 9) = UserForm27.TextBox10
Hoja10.Cells(final, 10) = UserForm27.TextBox11
Hoja10.Cells(final, 11) = UserForm27.TextBox12
Hoja10.Cells(final, 12) = UserForm27.TextBox13
Hoja10.Cells(final, 14) = UserForm27.TextBox14
Hoja10.Cells(final, 15) = UserForm27.TextBox15
Hoja10.Cells(final, 16) = UserForm27.TextBox16
Hoja10.Cells(final, 17) = UserForm27.TextBox17
Hoja10.Cells(final, 18) = UserForm27.TextBox18
Hoja10.Cells(final, 19) = UserForm27.TextBox19
UserForm24.TextBox1 = ""
UserForm24.TextBox2 = ""
UserForm24.TextBox3 = ""
UserForm24.TextBox4 = ""
UserForm24.TextBox5 = ""
UserForm24.TextBox6 = ""
UserForm24.TextBox7 = ""
UserForm24.TextBox8 = ""
UserForm24.TextBox9 = ""
UserForm24.TextBox10 = ""
UserForm24.TextBox11 = ""
UserForm24.TextBox12 = ""
UserForm24.TextBox13 = ""
UserForm24.TextBox14 = ""
UserForm24.TextBox15 = ""
UserForm24.TextBox16 = ""
UserForm26.Hide
End Sub

1 respuesta

Respuesta
1

[Hola 

Te paso la macro actualizada.

Ajusta la macro como te indico ( cambiar nombre de la hoja, columna y nombre del textbox)

'

Valora la respuesta para finalizar

Private Sub CommandButton1_Click()
Dim i As Integer
Dim j As Integer
For i = 2 To 3000
If Hoja9.Cells(i, 2) = "" Then
Final = i
Exit For
End If
Next
Hoja9.Cells(Final, 13) = UserForm27.TextBox1
Hoja9.Cells(Final, 1) = UserForm27.TextBox2
Hoja9.Cells(Final, 2) = UserForm27.TextBox3
Hoja9.Cells(Final, 3) = UserForm27.TextBox4
Hoja9.Cells(Final, 4) = UserForm27.TextBox5
Hoja9.Cells(Final, 5) = UserForm27.TextBox6
Hoja9.Cells(Final, 6) = UserForm27.TextBox7
Hoja9.Cells(Final, 7) = UserForm27.TextBox8
Hoja9.Cells(Final, 8) = UserForm27.TextBox9
Hoja9.Cells(Final, 9) = UserForm27.TextBox10
Hoja9.Cells(Final, 10) = UserForm27.TextBox11
Hoja9.Cells(Final, 11) = UserForm27.TextBox12
Hoja9.Cells(Final, 12) = UserForm27.TextBox13
Hoja9.Cells(Final, 14) = UserForm27.TextBox14
Hoja9.Cells(Final, 15) = UserForm27.TextBox15
Hoja9.Cells(Final, 16) = UserForm27.TextBox16
Hoja9.Cells(Final, 17) = UserForm27.TextBox17
Hoja9.Cells(Final, 18) = UserForm27.TextBox18
Hoja9.Cells(Final, 19) = UserForm27.TextBox19
Hoja10.Cells(Final, 13) = UserForm27.TextBox1
Hoja10.Cells(Final, 1) = UserForm27.TextBox2
Hoja10.Cells(Final, 2) = UserForm27.TextBox3
Hoja10.Cells(Final, 3) = UserForm27.TextBox4
Hoja10.Cells(Final, 4) = UserForm27.TextBox5
Hoja10.Cells(Final, 5) = UserForm27.TextBox6
Hoja10.Cells(Final, 6) = UserForm27.TextBox7
Hoja10.Cells(Final, 7) = UserForm27.TextBox8
Hoja10.Cells(Final, 8) = UserForm27.TextBox9
Hoja10.Cells(Final, 9) = UserForm27.TextBox10
Hoja10.Cells(Final, 10) = UserForm27.TextBox11
Hoja10.Cells(Final, 11) = UserForm27.TextBox12
Hoja10.Cells(Final, 12) = UserForm27.TextBox13
Hoja10.Cells(Final, 14) = UserForm27.TextBox14
Hoja10.Cells(Final, 15) = UserForm27.TextBox15
Hoja10.Cells(Final, 16) = UserForm27.TextBox16
Hoja10.Cells(Final, 17) = UserForm27.TextBox17
Hoja10.Cells(Final, 18) = UserForm27.TextBox18
Hoja10.Cells(Final, 19) = UserForm27.TextBox19
'
    Set h = Sheets("Hoja1")                     'cambia el nombre de la hoja donde está los datos a eliminar
    Set r = h.Columns("A")                      'cambia la columna donde tienes numero de serie
    Set b = r.Find(TextBox1, lookat:=xlWhole)   'cambia el nombre del TextBox por el nombre del textbox del numero de serie
    If Not b Is Nothing Then
       h.Rows(b.Row).Delete
    End If
'
UserForm24.TextBox1 = ""
UserForm24.TextBox2 = ""
UserForm24.TextBox3 = ""
UserForm24.TextBox4 = ""
UserForm24.TextBox5 = ""
UserForm24.TextBox6 = ""
UserForm24.TextBox7 = ""
UserForm24.TextBox8 = ""
UserForm24.TextBox9 = ""
UserForm24.TextBox10 = ""
UserForm24.TextBox11 = ""
UserForm24.TextBox12 = ""
UserForm24.TextBox13 = ""
UserForm24.TextBox14 = ""
UserForm24.TextBox15 = ""
UserForm24.TextBox16 = ""
UserForm26.Hide
End Sub

He realizado los cambios que me comentaste pero no sé si estén mal colocados ya que no me funciona...   :(

Private Sub CommandButton1_Click()
Dim i As Integer
Dim j As Integer
For i = 2 To 3000
If Hoja9.Cells(i, 2) = "" Then
final = i
Exit For
End If
Next
Hoja9.Cells(final, 13) = UserForm21.TextBox1
Hoja9.Cells(final, 1) = UserForm21.TextBox2
Hoja9.Cells(final, 2) = UserForm21.TextBox3
Hoja9.Cells(final, 3) = UserForm21.TextBox4
Hoja9.Cells(final, 4) = UserForm21.TextBox5
Hoja9.Cells(final, 5) = UserForm21.TextBox6
Hoja9.Cells(final, 6) = UserForm21.TextBox7
Hoja9.Cells(final, 7) = UserForm21.TextBox8
Hoja9.Cells(final, 8) = UserForm21.TextBox9
Hoja9.Cells(final, 9) = UserForm21.TextBox10
Hoja9.Cells(final, 10) = UserForm21.TextBox11
Hoja9.Cells(final, 11) = UserForm21.TextBox12
Hoja9.Cells(final, 12) = UserForm21.TextBox13
Hoja9.Cells(final, 14) = UserForm21.TextBox14
Hoja9.Cells(final, 15) = UserForm21.TextBox15
Hoja9.Cells(final, 16) = UserForm21.TextBox16
Hoja9.Cells(final, 17) = UserForm21.TextBox17
Hoja9.Cells(final, 18) = UserForm21.TextBox18
Hoja9.Cells(final, 19) = UserForm21.TextBox19
Set h = Sheets("DELL")
Set r = h.Columns("M")
Set b = r.Find(TextBox1, lookat:=xlWhole)
If Not b Is Nothing Then
    h.Rows(b.Row).Delete
End If
UserForm21.TextBox1 = ""
UserForm21.TextBox2 = ""
UserForm21.TextBox3 = ""
UserForm21.TextBox4 = ""
UserForm21.TextBox5 = ""
UserForm21.TextBox6 = ""
UserForm21.TextBox7 = ""
UserForm21.TextBox8 = ""
UserForm21.TextBox9 = ""
UserForm21.TextBox10 = ""
UserForm21.TextBox11 = ""
UserForm21.TextBox12 = ""
UserForm21.TextBox13 = ""
UserForm21.TextBox14 = ""
UserForm21.TextBox15 = ""
UserForm21.TextBox16 = ""
UserForm21.TextBox17 = ""
UserForm21.TextBox18 = ""
UserForm21.TextBox19 = ""
UserForm22.Hide
End Sub

Envíame tu archivo [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas