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.

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