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 SubGracias por su ayuda