Excel - Insertar columna en blanco(macro)

   
Vista:

Insertar columna en blanco(macro)

Publicado por Monica (2 intervenciones) el 11/03/2008 13:43:55
Hola,
Tengo una gran duda y es que estoy pasando unos datos de un fichero .txt a excel con una macro. Los datos los tengo en columnas y los quiero pasar a la hoja de excel de forma que entre 2 columnas de datos deje 2 columnas vacias de excel. Esto es porque en esas columnas despues pondré valores estáticos. Mi duda es como insertar dos columnas en blanco a la vez que voy copiando los datos del fichero txt.
Muchas gracias y espero que alguien sepa la solución.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Insertar columna en blanco(macro)

Publicado por jcs (494 intervenciones) el 11/03/2008 14:49:06
Muy buenas,

puedes poner, al final de la macro que te trae los datos lo siguiente:

Columns("B:C").Select
Selection.Insert Shift:=xlToRight

Espero que sea lo que quieres. Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Insertar columna en blanco(macro)

Publicado por Monica (2 intervenciones) el 12/03/2008 17:47:45
Hola,

Si es eso lo que quiero pero el problema que me surge ahora es que necesito que después de cada columna de datos(extraida del fichero txt) me ponga estas dos columnas en blanco.
Creo que será mas sencillo si te enseño mi código, a ver si sabes como puedo intercalar las lineas que me has comentado.
Este es el código de la macro:

If Not ThisWorkbook.FileFormat = xlTemplate Then Exit Sub

Application.DisplayAlerts = False
Application.ScreenUpdating = False
ActiveSheet.Select

celda_donde_estamos = ActiveCell.Address
Cells.Select
' Selection.ClearContents
Range(celda_donde_estamos).Select


ChDir "C:VISION32DENIAFICH_EX"

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:VISION32DENIAFICH_EXMensual1.txt", Destination:=Range("a2"))
.Name = "historicos"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 2
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.Refresh BackgroundQuery:=False
Columns("B:C").Select
Selection.Insert Shift:=xlToRight
End With
Dim cabecera As String
cabecera = "C:VISION32DENIAInformesExcelCasablanca_Mensual"

Dim fichero As String
fichero = cabecera & Format(Now(), "dd-mm-yyyy") & ".xls"

ActiveWorkbook.SaveAs Filename:=fichero, FileFormat:=xlWorkbookNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
Application.DisplayAlerts = False

If Not ActiveWorkbook.FileFormat = xlTemplate Then
Application.Quit
Else
ActiveWorkbook.Close
End If
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
End Sub

Private Sub Workbook_Deactivate()
End Sub

Muchas gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar