Necesito copiar texto de una celda(1) a otra celda(2) automáticamente a cuando esta celda(1) sea llenada

"Para Dante Amor" Tengo este código:

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
If Target.Count > 100 Then Exit Sub
If Not Intersect(Target, Columns("C")) Is Nothing Then
For Each c In Target
Set e = Sheets("Work").Columns("O").Find(c.Value, lookat:=xlWhole)
If Not e Is Nothing Then
c.Offset(0, 2) = e.Offset(0, 2)
c.Offset(0, 3) = e.Offset(0, 1)
Else
MsgBox "No existe el producto: " & c.Value
End If
Next
End If
'para listar automaticamente a medida que agrego productos. Columna3= "C"
If Target.Column = 3 And Target.Row > 9 Then
If Target.Row = 10 Then
Sheets("Print").Cells(Target.Row, 2).Value = 1

End If
If Target.Row > 10 Then
Sheets("Print").Cells(Target.Row, 2).Value = Sheets("Print").Cells(Target.Row - 1, 2).Value + 1

End If
End If
End Sub

Quisiera que los datos de las columnas C, DE y F se llenaran también en la otra otra Hoja "Llamada Work" en las columnas G, H, e I respectivamente para poder trabajar con ellos allá, realizar cálculos, etc.

También quisiera ver como puedo modificar mi código del "Listado automático" para no usar columnas fijas sino nombres de columnas.

1 respuesta

Respuesta
1

H o l a:

Estoy confundido.

¿Qué datos de cuál hoja a cuál hoja los quieres pasar?

Podrías poner un ejemplo:

El dato De la hoja1, celda j1 pasarlo hacia la hoja2, celda k2.


Tampoco entendí esto, ¿a qué "listado automático" te erefieres?

"

También quisiera ver como puedo modificar mi código del "Listado automático" para no usar columnas fijas sino nombres de columnas

"

Si quieres para explicarte mejor, podrías enviarme tu archivo y ahí me explicas con colores y comentarios lo que quieres.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Alfredo Moreno” y el título de esta pregunta.

Sal u dos

H o l a:

Te anexo la macro actualizada para llenar el "listado automático"

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Target.Count > 100 Then Exit Sub
    If Not Intersect(Target, Columns("C")) Is Nothing Then
        For Each c In Target
            If c.Value = "" Then
                Application.EnableEvents = False
                Cells(c.Row, "B") = ""
                Cells(c.Row, "D") = ""
                Cells(c.Row, "E") = ""
                Application.EnableEvents = True
            Else
                Set h = Sheets("Work")
                Set b = h.Columns("O").Find(c.Value, LookAt:=xlWhole)
                If Not b Is Nothing Then
                    'Pone descripción
                    Cells(c.Row, "E") = h.Cells(b.Row, "Q")
                    'Actualizar número de Item
                    n = 1
                    For i = 10 To c.Row
                        Cells(i, "B") = n
                        n = n + 1
                    Next
                Else
                    MsgBox "No existe el producto: " & c.Value
                    Application.EnableEvents = False
                    c.Value = ""
                    c.Select
                    Application.EnableEvents = True
                End If
            End If
        Next
    End If
End Sub

':)
'S aludos. D a n t e   A m o r . R ecuerda valorar la respuesta. G racias
':)

¡Gracias! "Dante Amor" es lo que estaba buscando. ¿Qué puedo modificar en la macro para cuando deje líneas vacías el listado de numero de item no llene la línea vacía y continué el conteo en la línea donde continué agregando productos?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas