Copiar celdas especificas a otra fila en excel

Necesito de tu valiosa ayuda es que tengo un proyecto en el cual tengo que ingresar datos en diferentes celdas (a1, f38, c6) y tengo que copiarlos con un botón en la fila de la otra hoja... Lo interesante es que tengo que hacerlo varias veces pero sin que se copia en la misma fila...

1 respuesta

Respuesta
1
Espero Que esto te ayude :
Sub Copiar_A_Otra_Hoja()
Rango = ActiveCell.Row          ' Toma la Fila que deseamos Copiar
FilaA = Cells(Rango, 1) ' Guarda en una variable lo que se en cuentra en la Columna A
FilaC = Cells(Rango, 3) ' Guarda en una variable lo que se en cuentra en la Columna C
FilaF = Cells(Rango, 6) ' Guarda en una variable lo que se en cuentra en la Columna F
Sheets("Hoja2"). Activate ' Activamos La hoja que vamos a Pegar los Datos
Range("A65536").End(xlUp).Select ' Busca una Fila de Abajo hacia Arriba
RangoPegar = ActiveCell.Row + 1 ' Encuentra Una Fila y Agregamos una Para Pegar Los Datos
Cells(RangoPegar, 1) = FilaA ' Pegamos Los Datos de la Columna A
Cells(RangoPegar, 2) = FilaC ' Pegamos Los Datos de la Columna C
Cells(RangoPegar, 3) = FilaF ' Pegamos Los Datos de la Columna F
End Sub
Si necesitas Alguna otra Ayuda no dudes en consultar, por que me quedo la duda si es la Fila completa o es variable.
Ahora con Selección Múltiple.
Sub Copiar_A_Otra_Hoja()
    Direccion = Selection.Address ' Guardamos Las Selecciones
    A = Replace(Mid(Direccion, InStr(Direccion, "A") + 2, 2), ",", "")
    FilaA = Cells(A, 1) ' Guarda en una variable lo que se en cuentra en la Columna A
    Direccion = Mid(Direccion, InStr(Direccion, ",") + 1, Len(Direccion))
    C = Replace(Mid(Direccion, InStr(Direccion, "C") + 2, 2), ",", "")
    FilaC = Cells(C, 3)  ' Guarda en una variable lo que se en cuentra en la Columna C
    Direccion = Mid(Direccion, InStr(Direccion, ",") + 1, Len(Direccion))
    F = Replace(Mid(Direccion, InStr(Direccion, "F") + 2, 2), ",", "")
    FilaF = Cells(F, 6)  ' Guarda en una variable lo que se en cuentra en la Columna F
    Sheets("Hoja2").Activate        ' Activamos La hoja que vamos a Pegar los Datos
    Range("A65536").End(xlUp).Select ' Busca una Fila de Abajo hacia Arriba
    RangoPegar = ActiveCell.Row + 1 ' Encuentra Una Fila y Agregamos una Para Pegar Los Datos
    Cells(RangoPegar, 1) = FilaA ' Pegamos Los Datos de la Columna A
    Cells(RangoPegar, 2) = FilaC ' Pegamos Los Datos de la Columna C
    Cells(RangoPegar, 3) = FilaF ' Pegamos Los Datos de la Columna F
End Sub
Si necesitas Alguna otra Ayuda no dudes en consultar.
Hola Pitcher... gracias por la ayuda. Pero tengo también otra... tengo
       1 2 3 4
a 25 30 48 62
b 56 88 90 45
Supongamos que esto es una hoja de excel yo solo quiero tomar esos datos (en negrita) y pasarlos en otra hoja en filas de la siguiente manera:
     1 2 3 4
a   25  90
Asimismo que agregue más en la siguiente fila, o sea la B.
Estoy a la espera de tu gran ayuda.
Costo pero salio. Espero que sea de tu ayuda :
Sub Copiar_A_Otra_Hoja()
    Dim Col(1 To 10) As String
    Dire = Selection.Address ' Guardamos Las Selecciones
    DireAu = Replace(Dire, "$", "")
    If InStr(DireAu, ",") <> 0 Then
        For X = 1 To Len(DireAu)
            Col(X) = Mid(DireAu, 1, InStr(DireAu, ",") - 1)
            DireAu = Mid(DireAu, InStr(DireAu, ",") + 1, Len(DireAu))
            If InStr(DireAu, ",") = 0 Then
                Exit For
            End If
        Next X
        Col(X + 1) = Mid(DireAu, 1, Len(DireAu))
        For Au = 1 To X + 1
            For AuX = Au To X + 1
                If Col(Au) > Col(AuX) Then
                    Com = Col(AuX)
                    Col(AuX) = Col(Au)
                    Col(Au) = Com
                End If
            Next AuX
        Next Au
        For Aud = 1 To X + 1
            Col(Aud) = Range(Col(Aud)).Value
        Next Aud
        Sheets("Hoja2").Activate
        Range("A65536").End(xlUp).Select
        RangoPegar = ActiveCell.Row + 1
        For Aud = 1 To X + 1
            Cells(RangoPegar, Aud) = Col(Aud)
        Next Aud
    Else
        C = ActiveCell.Value
        Sheets("Hoja2").Activate
        Range("A65536").End(xlUp).Select
        RangoPegar = ActiveCell.Row + 1
        Cells(RangoPegar, 1) = C
    End If
End Sub
Cualquier consulta no dudes en preguntar. Suerte
Pitcher !
Gracias, pitcher... mi ultima duda es como seria el código SIN SELECCIONAR LA CELDAS, O SEA NO MARCALAS, sino ya saber cuales son las que vamos a copiar, y realizarlo.
No te entendí bien... mi pregunta es como sabes sin seleccioar las celdas o marcarlas... si quieres celdas especificas ... me ayudaría si lo haces con un ejemplo...

Añade tu respuesta

Haz clic para o