VIA55 borrar contenido de celda cuando otra esté llena

Resuelto
Hola, he creado este ejemplo para entender cómo se puede borrar automáticamente el contenido de otra celda:
En (B3:B7) ingreso números. En este caso particular, me gustaría que cuando ingrese en B4 el número 5, el valor de B3 (es decir, el 7) se borre. Lo mismo para las celdas B5, B6 y B7
Macro si es necesario
Gracias por sus respuestas

https://www.cjoint.com/c/LDwlAxe1RRy

Configuración: Windows / Firefox 99.0

15 respuestas

  1. Por cierto, yo soy via55, mi amigo Raymond solo intervino en el post 2 ☺

    Tu archivo reducido con la macro de eliminación:
    https://www.cjoint.com/c/LDxmLqq6pse

    Dime si es eso lo que deseabas

    Saludos cordiales
    Via

    --
    "La imaginación es más importante que el conocimiento." A. Einstein
    1
    1. Hola,
      Y si introducimos 5 en B3, ¿qué hacer...?
      ¿Cuántos números pueden encontrarse en el rango B3:B7?

      --
      Saludos.
      El Pingüino
      0
      1. Re,

        Raymond, saludos de paso, al refrescarme la memoria, me he puesto a investigar tu problema
        Si quieres que al introducir un valor en una celda del rango se borre el valor de la celda justo encima, debes usar un macro
        Macro que debes colocar en el worksheet de la hoja1 (Abrir el editor VBA - doble clic en el nombre de la hoja en el árbol de la izquierda - Pega el macro en la página en blanco)
        Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B4:B7")) Is Nothing And Target.Value <> "" Then ' si hay entrada en el rango B4:B7 y con un valor distinto de cero fila = Target.Row ' fila de la celda de entrada Range("B" & fila - 1).ClearContents 'vacía la celda de la fila de arriba End If End Sub 

        Saludos
        Vía

        --
        "La imaginación es más importante que el conocimiento."    A. Einstein
        0
        1. Re, no me demoro.
          ¿Hay alguna posibilidad en la columna B de que se elimine el número 7 ingresado en B3 cuando en B4 o de igual manera en la columna ingrese como en el ejemplo el número 5 en B4?
          Eso me permitiría tener solo una celda para llenar en la página del mes que tengo en mente y no preocuparme por las otras hojas.
          Lo sé, soy complicado, pero como tú, me gustan las cosas prácticas y justas.
          A+, Christophe
          0
          1. Perdón, lo olvidé.
            Si encontramos el mismo número en las otras celdas no es demasiado molesto sabiendo que he nombrado una celda como referencia porque en mi caso estoy sin inverso para el cálculo de los meses.
            0
            1. ¿No me dices qué está mal en el test de mi macro?
              Borra bien todo el valor en B3 cuando se introduce un valor en B4 (no importa cuál sea el valor)
              lo mismo para B4 B5, luego B5 B6 y finalmente B6 B7
              pero tal vez no he entendido lo que quieres?
              No entiendo lo que quieres decir con
              "Eso me permitiría tener solo una celda para llenar para la página del mes que tengo en mente y no preocuparme por las otras hojas?" (por cierto, ¿sabías que puedes ingresar el mismo valor en una celda en todas las hojas de una sola vez seleccionando primero todas las hojas?)
              Tampoco entiendo
              "Si se encuentra el mismo número en las otras celdas no es demasiado problemático sabiendo que he nombrado una celda como referencia porque en mi caso estoy en sin inversión para el cálculo de los meses"
              ¿Quieres decir que la macro solo debe borrar si el número es diferente del de la celda anterior?

              --
              "La imaginación es más importante que el conocimiento." A. Einstein
              0
              1. Hola, acabo de rehacer un libro de Excel con la situación de los meses completos.
                Columna A3 a A14 donde cada mes son hojas diferentes.
                Columna B3 a B14 meses del año en denominación inversa de dígitos para el cálculo restante de mi previsión.
                Columna C14 es la referencia para el cálculo de los meses restantes

                En la situación del libro proporcionado, en C12, que es el último valor ingresado, el número debe ser totalizado en C14 (en este caso está bien) pero al volver al contexto del libro real (meses separados por páginas) me gustaría que apareciera solo el último número ingresado, incluso si no corresponde al valor numérico del mes (ejemplo 6 en columna C7)

                Debería haber hecho esta tabla desde el principio, pero busqué antes de preguntar. Por eso en la columna D hay un cálculo que si es necesario se puede eliminar.
                Esperando haberme explicado bien
                Gracias, Christophe

                https://www.cjoint.com/c/LDxfgf8nMSy
                0
                1. Re

                  ¡No entiendo todavía lo que buscas obtener!
                  "En la situación del libro proporcionado, en C12 que es el último valor ingresado, el número debe ser totalizado en C14 (aquí en este caso está bien) pero al volver al contexto del verdadero libro (meses separados por páginas) me gustaría que apareciera el último número ingresado, incluso si no corresponde al valor numérico del mes (ejemplo 6 en la columna C7)"
                  Solo proporcionas un ejemplo con una sola hoja, mientras que dices que tu libro real tiene 12 páginas, proporciona el libro real explicando más claramente lo que quieres y quizás podamos lograr algo

                  Saludos
                  Via
                  0
              2. Hola Raymond, respondí esta mañana pero acabo de darme cuenta de que el último tema se ha perdido entre los demás.
                Hay que revisar el 9.
                Dime si todo ha ido bien, por favor.
                Christophe
                0
                1. Re, voy a simplificar más mi solicitud:
                  Necesito que cuando introduzca una información numérica del 1 al 12 en la columna B de B3 a B14, si hay un número en el intervalo mencionado, se elimine cuando se indique otro número.
                  Christophe
                  0
                  1. Re, gracias vía. Disculpa por el nombre, creo que Excel me hizo perder un poco la vista.
                    En cuanto al archivo, está perfecto.
                    Prometo que en la próxima asistencia (si es necesario) el título permanecerá anónimo.
                    Buena continuación, Christophe
                    0
                    1. Bueno, me alegra que hayas encontrado tu felicidad.
                      No importa el título ☺ simplemente me sorprendió un poco, normalmente cuando quieren asegurarse de contactarme me envían un mensaje privado (haciendo clic en mi apodo en una conversación)
                      Buena continuación y tal vez hasta otra vez

                      --
                      "La imaginación es más importante que el conocimiento." A. Einstein
                      0
                      1. Re, de vuelta.

                        Tengo mis números organizados en la misma columna pero uno en cada hoja.
                        Estoy atascado
                        ¿Es posible modificar la fórmula: Range("B" & línea - 1).ClearContents

                        Para empezar, ingresé las celdas separadas por una coma
                        General Worksheet Change

                        Private Sub Worksheet_Change(ByVal Target As Range)
                        If Not Intersect(Target, Range("E40,E76,E112,E148,E184,E220,E256,E292,E328,E364,E400,E439")) Is Nothing And Target.Value <> "" Then ' si se ingresa en el rango B4:B7 y con un valor no nulo
                        línea = Target.Row ' línea de la celda de entrada

                        Gracias, Christophe
                        0
                        1. Re

                          Pareces estar en la primera macro que no te satisfacía, ya que solo borra la línea de arriba y no la de mi publicación 13!!!
                          Y en tu verdadero archivo las celdas parecen estar dispersas, me temo que vayas a hacer una ensalada....
                          De todos modos, como tienes varias hojas, deberías tener una macro por hoja.
                          Por supuesto, Range("B" & línea - 1).ClearContents es modificable, pero ¿por qué lo reemplazarías?
                          Si introduces un valor en E112, ¿deben borrarse los valores en E40, E76, etc.?
                          Te convendría proporcionarme el verdadero archivo para que podamos adaptar la macro en lugar de andar haciendo trucos!!

                          --
                          "La imaginación es más importante que el saber." A. Einstein
                          0
                          1. Re, lo siento Raymond, pero es la única forma que he encontrado para tener una oportunidad de que me respondas. Conservo un muy buen recuerdo de tus explicaciones, el programa que he montado funciona a la perfección.
                            No sé si has mantenido una página, para orientarte en la última (12) tenía ciertos datos de los que nunca hablamos. Esto sirve para hacer un previsional tanto sobre los montos no validados como sobre los validados, mientras se puede hacer una reducción de meses (muy práctico). La única desventaja es la obligación de volver a la página 12 para realizar un cambio.
                            Voy a probar tu macro y te mantendré informado.
                            Gracias, Christophe
                            -1