Mostrar la fila y la columna que ocupa un valor 2

Buen dia;
Deseo saber como puedo crear una macro que me permita mostrar en un box el numero de fila y el numero de columna que ocupa un valor
ejemplo: tengo una tabla de 6x6 donde todos los valores son 1 excepto en la parte superior derecha donde ubico un 0, deseo que al correr mi macro me genere un pantallazo que me indique en que fila y en que columna esta ubicado dicho numero.
Agradezco de antemano la colaboración que puedan brindarme en este caso.
Que tal Angel no se si recuerdes esta pregunta, necesito ahora saber con un rem entre cada linea que se esta solicitando en cada una, esto porque necesito hacer un diagrama de flujo de esta función y adicional a esto deseo saber como se puede crear una macro para que una vez yo tenga el valor de la celda en otra hoja me coloque la misma en color amarillo y cuando el valor cambie regrese a su color original

1 respuesta

Respuesta
1
Tomo yo esta pregunta para encargarme de ella. Creo que pides dos cosas:
1º Que te incluya en la función unos comentarios explicando lo que hace cada instrucción. OK sin problemas.
2º No entiendo muy bien. ¿Quieres que modifiquemos la macro para que, además de mostrar el mensaje (¿o en lugar de mostrar el mensaje) copie en otra hoja los nombres de las celdas? ¿O qué marque en otra matriz 6x6 igual pero de otra hoja con colores aquellas celdas que contienen ese valor? Intenta explicarlo un poco mejor.
Buen dia;
Angel en efecto lo de los comentarios de lo que sucede en cada linea es por que necesito hacer un diagrama de flujo de lo que sucede y lo segundo es en efecto que marque en las celdas que correspondan a la matriz 6x6 pero de otra hoja (es decir en esa hoja existen otros datos o no hay nada) con colores aquellas celdas que contienen ese valor y si le coloco luego un valor diferente el color se retire
Agradezco de antemano toda tu ayuda y espero entonces tu respuesta
Pues creo que valdría con esto de más abajo (te pongo en negrita el nombre de la segunda hoja).
Saludos
Angel
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function ACNBuscaDato(RANGO As String, Dato As String)
'Inicializamos la variable donde devolveremos el resultado de la búsqueda...
Resultado = ""
'Depuramos el RANGO para eliminar los $...
RANGO = Replace(RANGO, "$", "")
'Obtenemos la celda inicial y final del rango...
CeldaInicial = Mid(RANGO, 1, InStr(1, RANGO, ":", 1) - 1)
CeldaFinal = Mid(RANGO, InStr(1, RANGO, ":", 1) + 1)
'Obtenemos de la celda inicial su columna y fila...
CeldaInicialColumna = Mid(CeldaInicial, 1, 1)
CeldaInicialFila = Val(Mid(CeldaInicial, 2))
'Obtenemos de la celda final su columna y fila...
CeldaFinalColumna = Mid(CeldaFinal, 1, 1)
CeldaFinalFila = Val(Mid(CeldaFinal, 2))
'Guardamos el nombre de la hoja actual...
HojaActual = ActiveSheet.Name
'Recorremos todas las celdas del rango de la hoja actual...
For Fila = CeldaInicialFila To CeldaFinalFila
    For Columna = Asc(CeldaInicialColumna) To Asc(CeldaFinalColumna)
        'Tomamos la referencia de la celda...
        Celda = Trim(Chr(Columna)) + Trim(Str(Fila))
        'Activamos la hoja actual...
        Sheets(HojaActual).Select
        'Tomamos el valor de la celda...
        Valor = Range(Celda).Value
        'Activamos la hoja secundaria...
        Sheets("HojaB").Select
        'Seleccionamos la misma celda pero en la hoja secudaria...
        Range(Celda).Select
        'Si el valor que había en la celda coincide con el valor buscado...
        If Valor = Dato Then
            '... añadimos la referencia al resultado de búsqueda...
            Resultado = Resultado + Celda + ", "
            '... y ponemos fondo en amarillo...
            With Selection.Interior
                .ColorIndex = 6
                .Pattern = xlSolid
            End With
        '... pero si el valor no coincide...
        Else
            '... ponemos el fondo en blanco...
            With Selection.Interior
                .ColorIndex = 0
                .Pattern = xlSolid
            End With
        End If
    Next
Next
'Según si haya o no celdas encontradas se devolvemos un texto u otro...
If Resultado <> "" Then
    ACNBuscaDato = "Celdas que contienen el valor " + Dato + " = " + Mid(Resultado, 1, Len(Resultado) - 2)
Else
    ACNBuscaDato = "No hay celdas con el valor " + Dato
End If
End Function

 
Sub MacroBusca6x6()
    MsgBox (ACNBuscaDato("B2:G7", 0))
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas