Modificar macro de ingreso de datos

Tengo la siguiente macro en la que me registra los datos en la hoja consecutivamente si la celda esta vacía, lo que quisiera es insertar un nuevo combobox en la que especifico la columna en la que se debe escribir los datos ya sea" C;D;E;F;G;H;I;J;K"

Set b = ActiveSheet.Range("A:A").Find(ComboBox1, lookat:=xlWhole)
If Not b Is Nothing Then
For j = Columns("C").Column To Columns("K").Column
If Cells(b.Row, j) = "" Then
Cells(b.Row, j) = IIf(IsNumeric(TextBox1), Val(TextBox1), TextBox1)
MsgBox "Dato guardado", vbInformation
guardado = True
Exit For
End If
Next
If guardado = False Then
MsgBox "No hay celdas disponibles", vbExclamation
End If
Else
MsgBox "El código no existe", vbExclamation
End If
With Me

End With

1 Respuesta

Respuesta
1

No supe como modificar tu macro pero cree estas mira a ver si te silve

Seria así en el evento iniciar del formulario cargamos el combobox con las columnas

En mi caso la nombre con las letras tu puedes ponerle lo que quieras

ComboBox2. AddItem "C"
ComboBox2. AddItem "D"
ComboBox2. AddItem "E"
ComboBox2. AddItem "F"
ComboBox2. AddItem "G"
ComboBox2. AddItem "H"
ComboBox2. AddItem "I"
ComboBox2. AddItem "J"
ComboBox2. AddItem "K"

Y en el botón buscar para pegar en su repetiva columna seria así

Set b = ActiveSheet.Range("A:A").Find(ComboBox1, lookat:=xlWhole)
 If Not b Is Nothing Then
 If ComboBox2 = "c" Then
 b.Offset(0, 2) = IIf(IsNumeric(TextBox1), Val(TextBox1), TextBox1)
 MsgBox "Dato guardado", vbInformation
 End If

If ComboBox2 = "d" Then
 b.Offset(0, 3) = IIf(IsNumeric(TextBox1), Val(TextBox1), TextBox1)
 MsgBox "Dato guardado", vbInformation
 End If

If ComboBox2 = "e" Then
 b.Offset(0, 4) = IIf(IsNumeric(TextBox1), Val(TextBox1), TextBox1)
 MsgBox "Dato guardado", vbInformation
 End If

If ComboBox2 = "f" Then
 b.Offset(0, 5) = IIf(IsNumeric(TextBox1), Val(TextBox1), TextBox1)
 MsgBox "Dato guardado", vbInformation
 End If

If ComboBox2 = "g" Then
 b.Offset(0, 6) = IIf(IsNumeric(TextBox1), Val(TextBox1), TextBox1)
 MsgBox "Dato guardado", vbInformation
 End If

If ComboBox2 = "h" Then
 b.Offset(0, 7) = IIf(IsNumeric(TextBox1), Val(TextBox1), TextBox1)
 MsgBox "Dato guardado", vbInformation
 End If

If ComboBox2 = "i" Then
 b.Offset(0, 8) = IIf(IsNumeric(TextBox1), Val(TextBox1), TextBox1)
 MsgBox "Dato guardado", vbInformation
 End If

If ComboBox2 = "j" Then
 b.Offset(0, 9) = IIf(IsNumeric(TextBox1), Val(TextBox1), TextBox1)
 MsgBox "Dato guardado", vbInformation
 End If

If ComboBox2 = "k" Then
 b.Offset(0, 10) = IIf(IsNumeric(TextBox1), Val(TextBox1), TextBox1)
 MsgBox "Dato guardado", vbInformation
 End If
Else
MsgBox "El código no existe", vbExclamation

 End If

no olvides valorar si te silve para cerrar la pregunta

$$\begin{align}&hola \end{align}$$

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas