Código en VB para ingreso de datos en un rango de 4 celdas

Estoy haciendo una macro para ingreso de datos, necesito saber como puedo hacer para que al escribir un valor en un text box me detecte si hay valores vacíos dentro de esas 4 celdas, si lo hubiese que escriba, de lo contrario que me arroje un msjbox con el texto "sin espacio disponible. Podrias orientarme?

1

1 respuesta

Respuesta
2

Es muy difícil entregar una macro con tan poca información. Esperemos que sepas ajustarla a tu modelo.

¿Una macro es un conjunto de instrucciones para resolver algo... tu macro se encuentra en un Userform? Voy a suponer que sí desde el momento que intentas pasar datos de un textbox. Y voy a imaginar que las 4 celdas serán A1:D1

Entonces tendrás un botón de pase y allí coloca estas instrucciones, además de otras que quizás ya tengas.

Private Sub CommandButton1_Click()
'x Elsamatilde
'se revisa si hay celda vacía en rango A1:D1
For i = 1 To 4
    If Cells(1, i) = "" Then
        Cells(1, i) = TextBox1
        paso = 1: Exit For
    End If
Next i
If paso = 0 Then
    MsgBox "NO hay celdas libres en el rango."
End If
End Sub

Elsa, muchas gracias por tu respuesta, la verdad es que no di mucha info por que tenia pocas esperanzas de respuesta. Tal como supones, mi macro esta sobre un Userform:

Se trata de una macro para almacenamiento de mercadería, el cual consta de 32 casilleros, cada uno con 4 espacios para almacenar 4 pedidos. en el ComBobox tengo los casilleros del 1 al 32; En los 4 labels que siguen, me muestran los números (folios) de los pedidos encasillados; En el textbox ingreso los folios de pedidos; Al presionar buscar, busca en que casillero tengo el pedido que estoy consultando, y el label de al lado me muestra la respuesta; El botón cancelar ya esta programado y limpia los datos del userform. Mis problemas son los botones agregar y eliminar...como te comentaba, necesito que, seleccionando un casillero en el combobox, me asigne un rango, y los datos que ingrese se limiten a ser ingresados en ese rango Ejemplo: Casillero 1 = rango B3: B6, Si ya no hubiesen espacios en ese casillero, no me deje seguir ingresando datos, y me arroje un mensaje de error para asignar otro casillero. Y al boton eliminar, para que al ingresar un folio que ya no se encuentre en los casilleros, eliminarlo de la planilla. Una vez mas agradecería muchísimo tu ayuda ya que eh buscado muchisimo en internet pero no logro dar con el codigo. (Aun estoy tratando de adaptar el código que me diste a mi código en VB). Te dejo la planilla como referencia por si es de utilidad. Saludos

Qué pena la falta de detalles porque se te armó una macro lo más cercana a lo que necesitas.

Bien, ahora que ya sabes que sí se te responde en este foro deja una nueva consulta copiando las mismas aclaraciones e imagen que acabas de enviarme (*). No dispongo de tiempo por el momento para continuarla y seguramente algún otro experto/usuario lo hará.

(*) Deja una imagen donde se observen los encabezados de filas/columnas para que la macro sea ajustada al modelo.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas