RESPUESTA A LA PREGUNTA 2351 DE VISUAL BASIC Este es el codigo de uno de mis programas, en el cual exporto a excel una serie de informacion de la base de datos. Creo que esta bastante bien explicado... He eliminado la parte del codigo que no hace referencia a exportar datos. Espero que os sirva... ---------------------------------------------------------------- Option Explicit Dim objExcel As Excel.Application Dim H As Long Dim V As Long Dim CasillasSumar As String Dim MiBase As Database Dim MiTabla As Recordset Dim MiBaseMovi As Database Dim MiTablaMovi1 As Recordset Dim MiTablaMovi2 As Recordset Dim MiTablaMovi3 As Recordset 'determina como se ordena la consulta de Movimientos Dim OrdenarConsultaMovimientos As String Private Sub Conceptos_Click() IncluirCeros.Enabled = IIf(Conceptos.Value = 1, True, False) Frame3.Enabled = IIf(Conceptos.Value = 1, True, False) End Sub Private Sub Exportar_Click() If Conceptos.Value = 1 Or Movimientos.Value = 1 Then Set objExcel = New Excel.Application objExcel.Visible = True 'determina el numero de hojas que se mostrara en el Excel objExcel.SheetsInNewWorkbook = 2 'Crea el/los Libro/s objExcel.Workbooks.Add End If If Conceptos.Value = 1 Then If ExportarPorEntidades.Value = 1 Then Call ExportarConceptosEntidades Else Call ExportarConceptos End If End If If Movimientos.Value = 1 Then Call ExportarMovimientos End Sub Private Sub ExportarConceptos() Dim TmpGrupo As String Dim tmpSubGrupo As String Dim tmpConcepto As String Dim TotalSaldo As String Dim RamaExportar As Integer If Rama(0).Value = True Then RamaExportar = 1 If Rama(1).Value = True Then RamaExportar = 2 If Rama(2).Value = True Then RamaExportar = 3 With objExcel.ActiveSheet 'modificamos el nombre de la hoja .Name = "Conceptos" 'anchura de las columnas .Columns("A").ColumnWidth = 10 .Columns("B").ColumnWidth = 10 .Columns("C").ColumnWidth = 25 .Columns("D").ColumnWidth = 12 .Columns("E").ColumnWidth = 12 'formato de la columna de Pesetas y de Euros .Columns("D").NumberFormat = "#,###,##0" .Columns("E").NumberFormat = "#,###,##0.00" End With Set MiBaseMovi = OpenDatabase(DirectorioDatos & NumeroEconomia & " Movimientos.mdb") Set MiBase = OpenDatabase(DirectorioDatos & NumeroEconomia & " Conceptos.mdb") Set MiTabla = MiBase.OpenRecordset("SELECT * FROM Cobros ORDER BY Grupo,SubGrupo,Concepto ASC", dbOpenDynaset) If Meses.ListIndex = 0 Then Set MiTablaMovi1 = MiBaseMovi.OpenRecordset("SELECT SUM(ImportePtas) as Importe FROM Movimientos WHERE CP='C'") Else Set MiTablaMovi1 = MiBaseMovi.OpenRecordset("SELECT SUM(ImportePtas) as Importe FROM Movimientos WHERE Month(Fecha)=" & Meses.ListIndex & " and CP='C'") End If If MiTablaMovi1.Fields!Importe > 0 Then V = 5 H = 1 'Introducimos las cuentas de Cobros objExcel.ActiveSheet.Cells(1, 1) = "COBROS" 'centra el texto en la seleccion objExcel.ActiveSheet.Range(objExcel.ActiveSheet.Cells(1, 1), objExcel.ActiveSheet.Cells(1, 5)).HorizontalAlignment = xlHAlignCenterAcrossSelection With objExcel.ActiveSheet.Cells(1, 1).Font .Color = vbRed .Size = 14 .Bold = True End With With objExcel.ActiveSheet .Range(.Cells(1, 1), .Cells(1, 5)).Borders.LineStyle = xlContinuous .Cells(3, 1) = "Grupo" .Cells(3, 2) = "SubGrupo" .Cells(3, 3) = "Concepto" .Cells(3, 4) = "Pesetas" .Cells(3, 5) = "Euros" 'Alinea el texto a la derecha (HorizontalAlignment) 'xlHAlignLeft = Alinea el texto a la izquierda 'xlHAlignRight = Alinea el texto a la derecha 'xlHAlignCenter = Alinea el texto al centro 'xlHAlignCenterAcrossSelection = Alinea el texto a la seleccion .Cells(3, 4).HorizontalAlignment = xlHAlignRight .Cells(3, 5).HorizontalAlignment = xlHAlignRight .Range(.Cells(3, 1), .Cells(3, 5)).Font.Bold = True End With CasillasSumar = "" MiTabla.MoveFirst Do While Not MiTabla.EOF 'Cells (Vertical,Horizontal) 'Range ("n1")= If Meses.ListIndex = 0 Then Set MiTablaMovi1 = MiBaseMovi.OpenRecordset("SELECT SUM(ImportePtas) as Importe FROM Movimientos WHERE CP='C' and Grupo='" & MiTabla.Fields!Grupo & "'") Set MiTablaMovi2 = MiBaseMovi.OpenRecordset("SELECT SUM(ImportePtas) as Importe FROM Movimientos WHERE CP='C' and Grupo='" & MiTabla.Fields!Grupo & "' and SubGrupo='" & MiTabla.Fields!SubGrupo & "'") Set MiTablaMovi3 = MiBaseMovi.OpenRecordset("SELECT SUM(ImportePtas) as Importe FROM Movimientos WHERE CP='C' and Grupo='" & MiTabla.Fields!Grupo & "' and SubGrupo='" & MiTabla.Fields!SubGrupo & "' and Concepto='" & MiTabla.Fields!Concepto & "'") Else Set MiTablaMovi1 = MiBaseMovi.OpenRecordset("SELECT SUM(ImportePtas) as Importe FROM Movimientos WHERE Month(Fecha)=" & Meses.ListIndex & " and CP='C' and Grupo='" & MiTabla.Fields!Grupo & "'") Set MiTablaMovi2 = MiBaseMovi.OpenRecordset("SELECT SUM(ImportePtas) as Importe FROM Movimientos WHERE Month(Fecha)=" & Meses.ListIndex & " and CP='C' and Grupo='" & MiTabla.Fields!Grupo & "' and SubGrupo='" & MiTabla.Fields!SubGrupo & "'") Set MiTablaMovi3 = MiBaseMovi.OpenRecordset("SELECT SUM(ImportePtas) as Importe FROM Movimientos WHERE Month(Fecha)=" & Meses.ListIndex & " and CP='C' and Grupo='" & MiTabla.Fields!Grupo & "' and SubGrupo='" & MiTabla.Fields!SubGrupo & "' and Concepto='" & MiTabla.Fields!Concepto & "'") End If If TmpGrupo <> MiTabla.Fields!Grupo Then If IncluirCeros.Value = 1 Then Call IncluirGrupo If RamaExportar >= 2 Then Call IncluirSubGrupo(1) If RamaExportar = 3 Then Call IncluirConcepto(2) TmpGrupo = MiTabla.Fields!Grupo tmpSubGrupo = MiTabla.Fields!SubGrupo tmpConcepto = MiTabla.Fields!Concepto V = V + RamaExportar '3 Else If MiTablaMovi1.Fields!Importe > 0 Then Call IncluirGrupo If RamaExportar >= 2 And MiTablaMovi2.Fields!Importe > 0 Then Call IncluirSubGrupo(1) If RamaExportar = 3 And MiTablaMovi3.Fields!Importe > 0 Then Call IncluirConcepto(2) TmpGrupo = MiTabla.Fields!Grupo tmpSubGrupo = MiTabla.Fields!SubGrupo tmpConcepto = MiTabla.Fields!Concepto V = V + RamaExportar '3 End If End If Else If tmpSubGrupo <> MiTabla.Fields!SubGrupo Then If IncluirCeros.Value = 1 Then If RamaExportar >= 2 Then Call IncluirSubGrupo(0) If RamaExportar = 3 Then Call IncluirConcepto(1) tmpSubGrupo = MiTabla.Fields!SubGrupo tmpConcepto = MiTabla.Fields!Concepto If RamaExportar > 1 Then V = V + RamaExportar - 1 Else If MiTablaMovi2.Fields!Importe > 0 Then If RamaExportar >= 2 Then Call IncluirSubGrupo(0) If RamaExportar = 3 And MiTablaMovi3.Fields!Importe > 0 Then Call IncluirConcepto(1) tmpSubGrupo = MiTabla.Fields!SubGrupo tmpConcepto = MiTabla.Fields!Concepto If RamaExportar > 1 Then V = V + RamaExportar - 1 End If End If Else If IncluirCeros.Value = 1 Then If RamaExportar = 3 Then Call IncluirConcepto(0) tmpConcepto = MiTabla.Fields!Concepto V = V + 1 End If Else If MiTablaMovi3.Fields!Importe > 0 Then If RamaExportar = 3 Then Call IncluirConcepto(0) tmpConcepto = MiTabla.Fields!Concepto V = V + 1 End If End If End If End If End If MiTabla.MoveNext Loop 'coloca el saldo total de los Cobros V = V + 2 With objExcel.ActiveSheet .Cells(V, H + 2) = "Total Cobros" .Range(.Cells(V, H + 3), .Cells(V, H + 4)).Borders(xlTop).LineStyle = xlDouble .Cells(V, H + 3) = CasillasSumar TotalSaldo = "=+D" & Trim(Str(V)) .Cells(V, H + 4).Value = "=+D" & Trim(Str(V)) & "/" & Trim(Str(LeerArchivoINI(2))) End With End If V = V + 3 Set MiTabla = MiBase.OpenRecordset("SELECT * FROM Pagos ORDER BY Grupo,SubGrupo,Concepto ASC", dbOpenDynaset) If Meses.ListIndex = 0 Then Set MiTablaMovi1 = MiBaseMovi.OpenRecordset("SELECT SUM(ImportePtas) as Importe FROM Movimientos WHERE CP='P'") Else Set MiTablaMovi1 = MiBaseMovi.OpenRecordset("SELECT SUM(ImportePtas) as Importe FROM Movimientos WHERE Month(Fecha)=" & Meses.ListIndex & " and CP='P'") End If If MiTablaMovi1.Fields!Importe > 0 Then 'Introducimos las cuentas de Pagos objExcel.ActiveSheet.Cells(V, 1) = "PAGOS" 'centra el texto en la seleccion objExcel.ActiveSheet.Range(objExcel.ActiveSheet.Cells(V, 1), objExcel.ActiveSheet.Cells(V, 5)).HorizontalAlignment = xlHAlignCenterAcrossSelection With objExcel.ActiveSheet.Cells(V, 1).Font .Color = vbRed .Size = 14 .Bold = True End With With objExcel.ActiveSheet .Range(.Cells(V, 1), .Cells(V, 5)).Borders.LineStyle = xlContinuous .Cells(V + 2, 1) = "Grupo" .Cells(V + 2, 2) = "SubGrupo" .Cells(V + 2, 3) = "Concepto" .Cells(V + 2, 4) = "Pesetas" .Cells(V + 2, 5) = "Euros" .Range(.Cells(V + 2, 1), .Cells(V + 2, 5)).Font.Bold = True .Cells(V + 2, 4).HorizontalAlignment = xlHAlignRight .Cells(V + 2, 5).HorizontalAlignment = xlHAlignRight End With V = V + 4 CasillasSumar = "" MiTabla.MoveFirst Do While Not MiTabla.EOF 'Cells (Vertical,Horizontal) 'Range ("n1")= If Meses.ListIndex = 0 Then Set MiTablaMovi1 = MiBaseMovi.OpenRecordset("SELECT SUM(ImportePtas) as Importe FROM Movimientos WHERE CP='P' and Grupo='" & MiTabla.Fields!Grupo & "'") Set MiTablaMovi2 = MiBaseMovi.OpenRecordset("SELECT SUM(ImportePtas) as Importe FROM Movimientos WHERE CP='P' and Grupo='" & MiTabla.Fields!Grupo & "' and SubGrupo='" & MiTabla.Fields!SubGrupo & "'") Set MiTablaMovi3 = MiBaseMovi.OpenRecordset("SELECT SUM(ImportePtas) as Importe FROM Movimientos WHERE CP='P' and Grupo='" & MiTabla.Fields!Grupo & "' and SubGrupo='" & MiTabla.Fields!SubGrupo & "' and Concepto='" & MiTabla.Fields!Concepto & "'") Else Set MiTablaMovi1 = MiBaseMovi.OpenRecordset("SELECT SUM(ImportePtas) as Importe FROM Movimientos WHERE Month(Fecha)=" & Meses.ListIndex & " and CP='P' and Grupo='" & MiTabla.Fields!Grupo & "'") Set MiTablaMovi2 = MiBaseMovi.OpenRecordset("SELECT SUM(ImportePtas) as Importe FROM Movimientos WHERE Month(Fecha)=" & Meses.ListIndex & " and CP='P' and Grupo='" & MiTabla.Fields!Grupo & "' and SubGrupo='" & MiTabla.Fields!SubGrupo & "'") Set MiTablaMovi3 = MiBaseMovi.OpenRecordset("SELECT SUM(ImportePtas) as Importe FROM Movimientos WHERE Month(Fecha)=" & Meses.ListIndex & " and CP='P' and Grupo='" & MiTabla.Fields!Grupo & "' and SubGrupo='" & MiTabla.Fields!SubGrupo & "' and Concepto='" & MiTabla.Fields!Concepto & "'") End If If TmpGrupo <> MiTabla.Fields!Grupo Then If IncluirCeros.Value = 1 Then Call IncluirGrupo If RamaExportar >= 2 Then Call IncluirSubGrupo(1) If RamaExportar = 3 Then Call IncluirConcepto(2) TmpGrupo = MiTabla.Fields!Grupo tmpSubGrupo = MiTabla.Fields!SubGrupo tmpConcepto = MiTabla.Fields!Concepto V = V + RamaExportar '3 Else If MiTablaMovi1.Fields!Importe > 0 Then Call IncluirGrupo If RamaExportar >= 2 And MiTablaMovi2.Fields!Importe > 0 Then Call IncluirSubGrupo(1) If RamaExportar = 3 And MiTablaMovi3.Fields!Importe > 0 Then Call IncluirConcepto(2) TmpGrupo = MiTabla.Fields!Grupo tmpSubGrupo = MiTabla.Fields!SubGrupo tmpConcepto = MiTabla.Fields!Concepto V = V + RamaExportar '3 End If End If Else If tmpSubGrupo <> MiTabla.Fields!SubGrupo Then If IncluirCeros.Value = 1 Then If RamaExportar >= 2 Then Call IncluirSubGrupo(0) If RamaExportar = 3 Then Call IncluirConcepto(1) tmpSubGrupo = MiTabla.Fields!SubGrupo tmpConcepto = MiTabla.Fields!Concepto If RamaExportar > 1 Then V = V + RamaExportar - 1 Else If MiTablaMovi2.Fields!Importe > 0 Then If RamaExportar >= 2 Then Call IncluirSubGrupo(0) If RamaExportar = 3 And MiTablaMovi3.Fields!Importe > 0 Then Call IncluirConcepto(1) tmpSubGrupo = MiTabla.Fields!SubGrupo tmpConcepto = MiTabla.Fields!Concepto If RamaExportar > 1 Then V = V + RamaExportar - 1 End If End If Else If IncluirCeros.Value = 1 Then If RamaExportar = 3 Then Call IncluirConcepto(0) tmpConcepto = MiTabla.Fields!Concepto V = V + 1 End If Else If MiTablaMovi3.Fields!Importe > 0 Then If RamaExportar = 3 Then Call IncluirConcepto(0) tmpConcepto = MiTabla.Fields!Concepto V = V + 1 End If End If End If End If End If MiTabla.MoveNext Loop 'coloca el saldo total de los Pagos V = V + 2 With objExcel.ActiveSheet .Cells(V, H + 2) = "Total Pagos" .Range(.Cells(V, H + 3), .Cells(V, H + 4)).Borders(xlTop).LineStyle = xlDouble .Cells(V, H + 3) = CasillasSumar TotalSaldo = TotalSaldo & "-D" & Trim(Str(V)) .Cells(V, H + 4).Value = "=+D" & Trim(Str(V)) & "/" & Trim(Str(LeerArchivoINI(2))) End With End If With objExcel.ActiveSheet 'coloca el saldo total V = V + 2 'recuadro para el total .Range(.Cells(V, 1), .Cells(V, 5)).Borders(xlTop).LineStyle = xlContinuous .Range(.Cells(V, 1), .Cells(V, 5)).Borders(xlBottom).LineStyle = xlContinuous .Cells(V, 1).Borders(xlLeft).LineStyle = xlContinuous .Cells(V, 5).Borders(xlRight).LineStyle = xlContinuous .Cells(V, H + 2) = "SALDO" .Cells(V, H + 3) = TotalSaldo .Cells(V, H + 4).Value = "=+D" & Trim(Str(V)) & "/" & Trim(Str(LeerArchivoINI(2))) .Range(.Cells(V, H + 2), .Cells(V, H + 4)).Font.Bold = True .Range(.Cells(V, H + 2), .Cells(V, H + 4)).Font.Color = vbBlue End With MiBase.Close MiBaseMovi.Close ' si no tiene que imprimir los movimientos, cierra el objeto If Movimientos.Value <> 1 Then Set objExcel = Nothing End Sub Private Sub IncluirGrupo() V = V + 1 With objExcel.ActiveSheet .Cells(V, H) = MiTabla.Fields!Grupo .Range(.Cells(V, 1), .Cells(V, 5)).Borders(xlBottom).LineStyle = xlContinuous 'saldo del grupo If MiTablaMovi1.Fields!Importe <> vbNull Then .Cells(V, H + 3) = MiTablaMovi1.Fields!Importe Else .Cells(V, H + 3) = 0 End If .Cells(V, H + 4) = "=+D" & Trim(Str(V)) & "/" & Trim(Str(LeerArchivoINI(2))) End With If CasillasSumar = "" Then CasillasSumar = "=D" & Trim(Str(V)) Else CasillasSumar = CasillasSumar & "+D" & Trim(Str(V)) End If End Sub Private Sub IncluirSubGrupo(Valor As Integer) V = V + 1 With objExcel.ActiveSheet 'saldo del subgrupo If MiTablaMovi2.Fields!Importe <> vbNull Then .Cells(V + Valor, H + 3) = MiTablaMovi2.Fields!Importe Else .Cells(V + Valor, H + 3) = 0 End If .Cells(V + Valor, H + 4) = "=+D" & Trim(Str(V + Valor)) & "/" & Trim(Str(LeerArchivoINI(2))) 'Determina el grueso de la linea (Weight) 'xlHairLine = Linea Fina 'xlThin = Linea Normal 'xlMedium = Linea Grues 'xlThick = Linea SuperGruesa .Range(.Cells(V + Valor, 2), .Cells(V + Valor, 5)).Borders(xlBottom).Weight = xlHairline 'Determina el tipo de linea (LineStyle) 'xlContinuous = Linea continuada 'xlDash = Linea de puntos 'xlDashDot = Linea-punto-linea 'xlDashDotDot = Linea-punto-punto-linea 'xlDot = Linea de puntos 'xlDouble = Linea doble 'xlSlantDashDot = linea-punto-linea enlazado 'xlLineStyleNone = Sin linea 'Determina donde colocar la linea del Borde (Borders()) 'Borders() = En todos los lados de la celda o celdas 'Borders(xlBottom) = En la parte inferior 'Borders(xlTop) = En la parte Superior 'Borders(xlLeft) = En la parte Izquierda 'Borders(xlRight) = En la parte Derecha 'Borders(AllExceptBorders) = Linea del punto inferior/izquierdo hasta el punto superior/derecho 'Borders(xlDoubleAccounting) = Linea del punto superior/izquierdo hasta el punto inferior/derecho 'Borders(xlWatchPane) = Lina vertical en el interior de una seleccion .Range(.Cells(V + Valor, 2), .Cells(V + Valor, 5)).Borders(xlBottom).LineStyle = xlContinuous .Cells(V + Valor, H + 1) = MiTabla.Fields!SubGrupo End With End Sub Private Sub IncluirConcepto(Valor As Integer) With objExcel.ActiveSheet .Cells(V + Valor, H + 2) = MiTabla.Fields!Concepto 'saldo del concepto If MiTablaMovi3.Fields!Importe <> vbNull Then .Cells(V + Valor, H + 3) = MiTablaMovi3.Fields!Importe Else .Cells(V + Valor, H + 3) = 0 End If .Cells(V + Valor, H + 4) = "=+D" & Trim(Str(V + Valor)) & "/" & Trim(Str(LeerArchivoINI(2))) End With End Sub Private Sub ExportarMovimientos() Dim SumaImporte As Currency If Conceptos.Value = 1 Then 'seleccionamos la segunda hoja objExcel.Worksheets("Hoja2").Activate End If 'modificamos el nombre de la hoja objExcel.ActiveSheet.Name = "Movimientos" Set MiBaseMovi = OpenDatabase(DirectorioDatos & NumeroEconomia & " Movimientos.mdb") If Meses.ListIndex = 0 Then Set MiTablaMovi1 = MiBaseMovi.OpenRecordset("SELECT * FROM Movimientos ORDER BY " & OrdenarConsultaMovimientos & " ASC") Else Set MiTablaMovi1 = MiBaseMovi.OpenRecordset("SELECT * FROM Movimientos WHERE Month(Fecha)=" & Meses.ListIndex & " ORDER BY " & OrdenarConsultaMovimientos & " ASC") End If V = 2 With objExcel.ActiveSheet .Cells(V, 1) = "C/P" .Cells(V, 2) = "Fecha" .Cells(V, 3) = "Número" .Cells(V, 4) = "Grupo" .Cells(V, 5) = "SubGrupo" .Cells(V, 6) = "Concepto" .Cells(V, 7) = "Pesetas" .Cells(V, 8) = "Euros" .Cells(V, 9) = "Entidad" .Cells(V, 10) = "Cuenta" .Cells(V, 11) = "Comentario" .Range(.Cells(V, 1), .Cells(V, 11)).Font.Bold = True 'anchura de las columnas .Columns("A").ColumnWidth = 3 .Columns("B").ColumnWidth = 10 .Columns("C").ColumnWidth = 8 .Columns("D").ColumnWidth = 25 .Columns("E").ColumnWidth = 25 .Columns("F").ColumnWidth = 25 .Columns("G").ColumnWidth = 12 .Columns("H").ColumnWidth = 12 .Columns("I").ColumnWidth = 25 .Columns("J").ColumnWidth = 25 .Columns("K").ColumnWidth = 100 'alineamiento .Columns("A").HorizontalAlignment = xlHAlignCenter .Columns("B").HorizontalAlignment = xlHAlignCenter .Cells(V, 3).HorizontalAlignment = xlHAlignRight .Cells(V, 7).HorizontalAlignment = xlHAlignRight .Cells(V, 8).HorizontalAlignment = xlHAlignRight 'linea doble .Range("A2:K2").Borders(xlBottom).LineStyle = xlDouble 'formato de las celdas .Columns("B").NumberFormat = "dd-mm-yyyy" .Columns("G").NumberFormat = "#,###,##0" .Columns("H").NumberFormat = "#,###,##0.000" If MiTablaMovi1.RecordCount > 0 Then MiTablaMovi1.MoveFirst Do While Not MiTablaMovi1.EOF V = V + 1 .Cells(V, 1) = MiTablaMovi1.Fields!CP .Cells(V, 2) = MiTablaMovi1.Fields!Fecha .Cells(V, 3) = MiTablaMovi1.Fields!Numero .Cells(V, 4) = MiTablaMovi1.Fields!Grupo .Cells(V, 5) = MiTablaMovi1.Fields!SubGrupo .Cells(V, 6) = MiTablaMovi1.Fields!Concepto If MiTablaMovi1.Fields!CP = "P" Then .Cells(V, 7) = "-" & MiTablaMovi1.Fields!ImportePtas .Cells(V, 8) = Trim(Str("-" & MiTablaMovi1.Fields!ImporteEuros)) SumaImporte = SumaImporte - MiTablaMovi1.Fields!ImportePtas Else .Cells(V, 7) = MiTablaMovi1.Fields!ImportePtas .Cells(V, 8) = MiTablaMovi1.Fields!ImporteEuros SumaImporte = SumaImporte + MiTablaMovi1.Fields!ImportePtas End If .Cells(V, 9) = MiTablaMovi1.Fields!Entidad .Cells(V, 10) = MiTablaMovi1.Fields!Cuenta .Cells(V, 11) = MiTablaMovi1.Fields!Comentario MiTablaMovi1.MoveNext Loop V = V + 1 'recuadro para el total .Range(.Cells(V + 1, 6), .Cells(V + 1, 8)).Borders(xlTop).LineStyle = xlContinuous .Range(.Cells(V + 1, 6), .Cells(V + 1, 8)).Borders(xlBottom).LineStyle = xlContinuous .Cells(V + 1, 6).Borders(xlLeft).LineStyle = xlContinuous .Cells(V + 1, 8).Borders(xlRight).LineStyle = xlContinuous .Cells(V + 1, 6) = "Saldo Total" .Cells(V + 1, 7) = SumaImporte .Cells(V + 1, 8) = "=+G" & Trim(Str(V + 1)) & "/" & Trim(Str(LeerArchivoINI(2))) End If End With Set objExcel = Nothing End Sub Xavi Vila