Macro para obtener un resultado varias variables

Esperando puedan ayudarme, tratare de ser lo más claro posible ya que no soy ningún experto en programación.
En este caso en especifico se trata de exel (vba).
Mi caso es el sig.

Digamos que tengo detenido a fulanito (celda a1)pero no se que delitos ha cometido entonces el testigo (celda c1) dice robo una casa entonces la sentencia es pasar 6 meses detenido (celda d1) ahí terminaría mi "investigacion" pero resulta que el dueño de la casa decide no denunciarlo (celda b1) entonces el detenido debe ser liberado(celda d1). Pero antes de liberarlo mi jefe me pide buscar alguna otra denuncia en su contra en la base de datos con su nombre ( celda e1:e10 ) y resulta que si esta en la lista y la condena por su delito es 3 años de cárcel. Y todo esto lo tengo que hacer para indeterminado numero de delincuentes que están en una misma columna.
Fin
Espero no haberlo hecho tan engorroso y me puedan ayudar.

1 Respuesta

Respuesta

Para poder hacer lo que quieres, te reproduzco los datos en esta imagen

En la columna E está la fórmula que te permitirá buscar en la base de datos de la Hoja2 si existe el nombre y que condena tiene (nombre en columna A y condena en columna E)

Debes ampliar el rango A1:E27 acorde con tu base de datos

La imagen de la base de datos es:

Culaquier duda comentamos

Voy a probarlo y te aviso como me funciono por momento muchas ¡Gracias! 

Buena Tarde Gregorio, mira lo que quiero mas o menos es parecido a esto, espero puedas ayudarme.

Sub CrearDisposicion()
'
' CrearDisposicion Macro
'

'
Dim Results As String
Dim fila As Long
Set destino = Range("K1")
fila = Application.WorksheetFunction.CountA(Range("G:G"))
If fila = 0 Then Exit Sub
Debug.Print fila
Results = Cells(renglon, columna).Value
IsEOS = InStr(1, Results, "EOS", 1)
If IsEOS Then Results = "EOS"
IsNDF = InStr(1, Results, "NDF", 1)
If IsNDF Then Results = "NDF"
Isinterconnectingwires = InStr(1, Results, "interconnecting wires", 1)
If IsEOS Then Results = "interconnecting wires"
Isliftedwire = InStr(1, Results, "lifted wire", 1)
If IsEOS Then Results = "lifted wire"
Isliftedwire = InStr(1, Results, "Missing wire", 1)
If IsEOS Then Results = "Missing wire"


Select Case Results
Case Is = "EOS"
Cells(renglon, columna + 5) = "Retest 100% B1 + Q.A +3xreflow"
Case Is = "NDF"
Cells(renglon, columna + 5) = "Disposicionar en base a Doc.MXWI-0052"
Case Is = "interconnecting wires"
Cells(renglon, columna + 5) = "Send 125 B1 to 3xreflow"
Case Is = "Missing wire"
Cells(renglon, columna + 5) = "Inspeccionar de Rayos X"
Case Else
Cells(renglon, columna + 5) = "Disposicionar en base a Doc.MXWI-0052"
For a = 1 To fila
While IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Wend
destino.Cells(a, 1).Value = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Next a

Application.ScreenUpdating = True

End Select
End Sub

Si tienes algun correo donde te pueda mandar el archivo, si gustas

Con mi primera respuesta queda resuelto la búsqueda de delitos pendientes para delincuentes detenidos.

Tu segunda pregunta es otra pregunta y realmente tampoco es una pregunta. Para que sea entendible deberías poner, Tengo esta macro para hacer tal y tal y :

- No me funciona

-Quiero que también haga

-Quiero modificar

Etc

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas