Macro Excel para autorellenar columnas según valor introducido

Necesito realizar una macro en Excel para que según el dato que introduzca en una celda, se rellenen automáticamente otras 3 celdas.

Por ejemplo si escribo en una celda manzana, en otras 3 celdas se rellenen automáticamente con verde, fruta y frutería (cada palabra en una celda diferente).

Respuesta
1

H o l a:

Podrías completar tu información, siguiendo con tu ejemplo, en cuál celda o en cuáles celdas tienes pensado escribir la palabra "manzana"; en cuáles 3 celdas quieres que se rellenen con "verde", "fruta" y "frutería".

Por ejemplo:

En la celda A5 vas a poner "manzana"

Quieres que en la celda B5 se rellene con "verde"

La celda C5 con "fruta"

Y la celda D5 con "frutería"

Ahora, lo más importante, de dónde voy a obtener los datos "verde", "fruta" y "frutería".

  • ¿Están en otra hoja?
  • ¿Cómo se llama la otra hoja?
  • ¿En cuáles celdas de la otra hoja está la información?
  • Tienes que poner el ejemplo completo, es decir, si en la "otra hoja", la palabra "manzana" está en la columna B, entonces en cuál columna está la palabra "verde", en cuál columna la palabra "fruta" y en cuál columna la palabra "frutería".

Con toda la información te preparo la macro.

Sal u dos

Buenas tardes.

Ante todo gracias por contestar tan rápidamente y por el interés mostrado.

En la Hoja1 en todas las celdas de la columna G (G4,G5...GX) es donde voy a escribir manzana y en la Hoja3, en la columnas A2,A3,A4.... es donde tengo manzana, en las columnas B2,B3,B4... "verde", en las columnas C2,C3,C4... "fruta" y en las columnas D2,D3,D4... "frutería".

Cualquier duda me la comunica por favor.

Gracias, un saludo.

 H o l a:

Pon la siguiente macro en los eventos de tu hoja

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Target.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If Target.Column <> Columns("G").Column Then Exit Sub
    If Target.Row > 1 Then
        Set h3 = Sheets("Hoja3")
        Set b = h3.Columns("A").Find(Target, lookat:=xlWhole)
        If Not b Is Nothing Then
            Target.Offset(0, 1) = b.Offset(0, 1)
            Target.Offset(0, 2) = b.Offset(0, 2)
            Target.Offset(0, 3) = b.Offset(0, 3)
        End If
    End If
End Sub

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja1)
  4. Del lado derecho copia la macro
  5. Regresa a tu hoja1 de excel y escribe manzana en cualquier celda de la columna G
S a l u d o s. Dante Amor. R ecuerda valorar la respuesta. G racias
:)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas