Macro Excel, modificar
Tengo datos en 12 columnas de la "A" a la "L" en la hoja "fuente"
1. En la columna "L" de la hoja "fuente" tengo una formula, quiero que copie los datos y no la formula
2. La macro copia datos en dos hojas
"CABECERA" Y "DETALLE"
Los datos de la columna "L" de la hoja datos quiero que los copie en la columna "G" de la hoja "CABECERA"
Los datos de la columna "L" de la hoja datos quiero que los copie en la columna "O" de la hoja "DETALLE"
3. En la hoja datos quiero agregar datos en 5 columnas de la "M a la "Q" con el objeto de utilizar estos datos en las hojas "CABECERA" Y "DETALLE"
En la columna "M" de la hoja "fuente" irían los datos de la columna "I" de la hoja "CABECERA"
En la columna "N" de la hoja "fuente" irían los datos de la columna "J" de la hoja "CABECERA"
La macro copia los datos de la columna "K" de la hoja "fuente" en la columna "D" de la hoja "CABECERA"
Quiero que copie los datos de la columna "K" de la hoja "fuente" en la columna "Q" de la hoja "DETALLE"
4. Quiero que en lugar de tener dos secuencias tenga 3 para ello quiero que la macro en lugar de insertar dos lineas inserte 3
¿Que cambios debo hacer?
El código de la macro que deseo modificar es el siguiente
Sub GENERAR() ' ' GENERAR Macro ' ' Acceso directo: CTRL+r ' 'Dim X As Integer Sheets("DATOS").Select 'X = 0 Range("A2").Select Do Until IsEmpty(ActiveCell) Selection.Copy Sheets("CABECERA").Select Range("A2").Select ActiveSheet.Paste Range("B2").Select Sheets("DATOS").Select ActiveCell.Offset(0, 1).Select Selection.Copy Sheets("CABECERA").Select ActiveSheet.Paste Range("C2").Select Sheets("DATOS").Select ActiveCell.Offset(0, 1).Select Application.CutCopyMode = False Selection.Copy Sheets("CABECERA").Select ActiveSheet.Paste Range("D2").Select Sheets("DATOS").Select ActiveCell.Offset(0, 8).Select Application.CutCopyMode = False Selection.Copy Sheets("CABECERA").Select ActiveSheet.Paste Range("E2").Select ActiveCell.FormulaR1C1 = "F" Range("F2").Select ActiveCell.FormulaR1C1 = "0" Range("G2").Select Sheets("DATOS").Select ActiveCell.Offset(0, 1).Select Application.CutCopyMode = False Selection.Copy Sheets("CABECERA").Select ActiveSheet.Paste Range("H2").Select Sheets("DATOS").Select ActiveCell.Offset(0, -3).Select Application.CutCopyMode = False Selection.Copy Sheets("CABECERA").Select ActiveSheet.Paste Range("I2").Select ActiveCell.FormulaR1C1 = "V" Range("J2").Select ActiveCell.FormulaR1C1 = "S" Range("A2:B2").Select Selection.Copy Sheets("DETALLE").Select ActiveSheet.Paste Range("C2").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "0001" Range("D2").Select Sheets("DATOS").Select ActiveCell.Offset(0, -6).Select Selection.Copy Sheets("DETALLE").Select ActiveSheet.Paste Range("E2").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "522103" Range("F2").Select Sheets("DATOS").Select ActiveCell.Offset(0, 3).Select Selection.Copy Sheets("DETALLE").Select ActiveSheet.Paste Range("G2").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "H" Range("H2").Select Sheets("DATOS").Select ActiveCell.Offset(0, 3).Select Selection.Copy Sheets("DETALLE").Select ActiveSheet.Paste Range("I2").Select Sheets("DATOS").Select ActiveCell.Offset(0, -5).Select Application.CutCopyMode = False Selection.Copy Sheets("DETALLE").Select ActiveSheet.Paste Range("J2").Select Sheets("DATOS").Select ActiveCell.Offset(0, 1).Select Application.CutCopyMode = False Selection.Copy Sheets("DETALLE").Select ActiveSheet.Paste Range("D2").Select Application.CutCopyMode = False Selection.Copy Range("K2").Select ActiveSheet.Paste Range("M2").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = " " 'PARA CAMBIAR AREA Range("N2").Select ActiveCell.FormulaR1C1 = "S" Range("O2").Select Sheets("DATOS").Select ActiveCell.Offset(0, 7).Select Selection.Copy Sheets("DETALLE").Select ActiveSheet.Paste Range("A2:B2").Select Application.CutCopyMode = False Selection.Copy Range("A3").Select ActiveSheet.Paste Range("C3").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "0002" Range("D2").Select Selection.Copy Range("D3").Select ActiveSheet.Paste Range("E3").Select Sheets("DATOS").Select ActiveCell.Offset(0, -2).Select Application.CutCopyMode = False Selection.Copy Sheets("DETALLE").Select ActiveSheet.Paste Range("F2").Select Application.CutCopyMode = False Selection.Copy Range("F3").Select ActiveSheet.Paste Application.CutCopyMode = False Range("G3").Select ActiveCell.FormulaR1C1 = "D" Range("H2").Select Selection.Copy Range("H3").Select ActiveSheet.Paste Application.CutCopyMode = False Range("I2").Select Selection.Copy Range("I3").Select ActiveSheet.Paste Application.CutCopyMode = False Range("J2").Select Selection.Copy Range("J3").Select ActiveSheet.Paste Application.CutCopyMode = False Range("K2").Select Selection.Copy Range("K3").Select ActiveSheet.Paste Application.CutCopyMode = False Range("M3").Select ActiveCell.FormulaR1C1 = " " Range("N3").Select ActiveCell.FormulaR1C1 = "S" Range("O2").Select Selection.Copy Range("O3").Select ActiveSheet.Paste Rows("2:2").Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Range("A2").Select Sheets("CABECERA").Select Rows("2:2").Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Range("A2").Select Sheets("DATOS").Select ActiveCell.Offset(0, -9).Select ActiveCell.Offset(1, 0).Select Loop End Sub
Gracias por su ayuda