buen dia recurro a su experticia para conocer un código el cual no e podido entender unas líneas y seguir en mi proceso de aprendizaje y lógica ya que al cambiar de fila me genera error y quiero que el combo registre desde A1 y no de A31 en A31 despues de cerrado el formulario me genera error 1004 es decir que hace linea a linea lo marcado en rojo que es donde me esta generando el error o si esta en la salida para el registro en la hoja gracias ...
Dim lr As Long, i As Long, fin As Long, cont As Long, n As Long Dim pre As String ' 'Validaciones If ComboBox1 = "" Or ComboBox1.ListIndex = -1 Then MsgBox ("Se requiere que seleccione un nombre para insertar un codigo"), vbCritical, "AVISO" ComboBox1.SetFocus Exit Sub End If If ActiveSheet.AutoFilterMode Then ActiveSheet.AutoFilterMode = False <------ '''''esta linea que funcion tiene?? ' 'Proceso lr = Range("A" & Rows.Count).End(3).Row + 2 a = Range("A31:A" & lr) Select Case lr Case Is < 31: fin = 0 Case 31: fin = 1 Case Else: fin = UBound(a) End Select n = 1 pre = Split(ComboBox1.Value, "-")(0) For i = 1 To fin If Left(a(i, 1), Len(pre)) = pre Then n = n + 1 End If Next ' 'Salida Application.ScreenUpdating = False Range("A31").EntireRow.Insert Range("A31").Value = pre & "-" & Format(n, "000") Range("B31").Value = Me.txtpro.Value Range("C31").Value = Me.txttipopro.Value Range("D31").Value = Me.txtprove.Value Range("E31").Value = Me.txtprecio1.Value Range("F31").Value = Me.txtprecio2.Value Application.ScreenUpdating = True
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
buen dia recurro a su experticia para conocer un código el cual no e podido entender unas líneas y seguir en mi proceso de aprendizaje y lógica ya que al cambiar de fila me genera error y quiero que el combo registre desde A1 y no de A31 en A31 despues de cerrado el formulario me genera error 1004 es decir que hace linea a linea lo marcado en rojo que es donde me esta generando el error o si esta en la salida para el registro en la hoja gracias ...
Dim lr As Long, i As Long, fin As Long, cont As Long, n As Long
Dim pre As String
'
'Validaciones
If ComboBox1 = "" Or ComboBox1.ListIndex = -1 Then
MsgBox ("Se requiere que seleccione un nombre para insertar un codigo"), vbCritical, "AVISO"
ComboBox1.SetFocus
Exit Sub
End If
If ActiveSheet.AutoFilterMode Then ActiveSheet.AutoFilterMode = False <------ '''''esta linea que funcion tiene??
'
'Proceso
lr = Range("A" & Rows.Count).End(3).Row + 2
a = Range("A31:A" & lr)
Select Case lr
Case Is < 31: fin = 0
Case 31: fin = 1
Case Else: fin = UBound(a)
End Select
n = 1
pre = Split(ComboBox1.Value, "-")(0)
For i = 1 To fin
If Left(a(i, 1), Len(pre)) = pre Then
n = n + 1
End If
Next
'
'Salida
Application.ScreenUpdating = False
Range("A31").EntireRow.Insert
Range("A31").Value = pre & "-" & Format(n, "000")
Range("B31").Value = Me.txtpro.Value
Range("C31").Value = Me.txttipopro.Value
Range("D31").Value = Me.txtprove.Value
Range("E31").Value = Me.txtprecio1.Value
Range("F31").Value = Me.txtprecio2.Value
Application.ScreenUpdating = True