Combinar celdas de excel en VFP

821 views
Skip to first unread message

Israel Valdez

unread,
Jun 14, 2017, 11:56:19 AM6/14/17
to Comunidad de Visual Foxpro en Español
Buen dia,

Tengo un pequeño problema, estoy haciendo un programa en el cual tengo que hacer una solicictud de compra y lo que quiero hacer es que me combine las celdas de acuerdo con el proveedor, no siempre se le piden la misma cantidad de producto al proveedor, como puede ser un producto como pueden ser diez, en estos momentos lo edito manualmente, pero quisiera que fuera automatizado, si alguien me puede ayudar se los agradeceria mucho

Gracias

Anexo imagenes de como queda y como me gustaria que quedara


Fidel Charny

unread,
Jun 14, 2017, 12:03:48 PM6/14/17
to Comunidad de Visual Foxpro en Español
Fijate si te sirve esto

*Excel_Combinar
LPARAMETERS toSheet
,;
    tcCell_From
,;
    tcCell_to
,;
    tlHorizontal_Center
,;
    tlVertical_Center

LOCAL lcRange
lcRange
= m.tcCell_From+":"+m.tcCell_to


IF VARTYPE
(tosheet)="O"
    WITH toSheet
.Range(m.lcRange)
       
.Merge
       
.MergeCells
       
.HorizontalAlignment = IIF(m.tlHorizontal_Center,3,1)
       
.VerticalAlignment = IIF(m.tlVertical_Center,2,1)
    ENDWITH
ENDIF



*!*    VerticalAlignment
*!*    1 Superior
*!*    2 Center
*!*    3 Inferior

Israel Valdez

unread,
Jun 14, 2017, 12:36:34 PM6/14/17
to Comunidad de Visual Foxpro en Español
Hola, gracias por tu ayuda, me marca error desde el principio.

Te muestro el código que tengo

SELECT solicitudes
SET ORDER TO PROVEEDOR   && PROVEEDOR 


DELETE ALL FOR Proveedor = (" ")

             


x_registros=AFIELDS(campos,'solicitudes')
#define xlLastCell 11
#define xlMaximized -4137
#define xlRangeAutoformatClassic2 2
#define xlPortrait 1

Go top
loExcel=Createobject("Excel.application")
loExcel.Visible = .T.
loBook = loExcel.Workbooks.Open('c:\siclima\solicitudes.xls')  &&este es el archivo
Cen1 = loBook.Sheets['solicitudes']    && Esta es la hoja
linea = 5  &&& desde que fila empiezan
ban=0
Cen1.ACTIVATE


loexcel.Range("b3:c3").Select
loexcel.selection.merge
loexcel.Selection.Font.Size = 22
loexcel.Selection.Font.Bold = .T.
loexcel.range("a1:e1").HorizontalAlignment = 3
loexcel.Selection.Value = 'Solicitud de compra'

loexcel.selection.numberformat =  "@"
 
   
loexcel.Rows("4").Select
loexcel.Selection.Font.Bold = .T.
   

loexcel.range("a4").Value = campos(3,1)
loexcel.range("b4").Value = campos(4,1)
loexcel.range("c4").Value = campos(5,1)
loexcel.range("d4").Value = campos(6,1)
loexcel.range("e4").Value = campos(7,1)

loexcel.columns("a:a").ColumnWidth =30 
loexcel.columns("b:b").ColumnWidth =7.3
loexcel.columns("c:c").ColumnWidth =40 
loexcel.columns("d:d").ColumnWidth =11.3 
loexcel.columns("e:e").ColumnWidth =9.57

numero = solicitud
folio = "ALM-17-"+STR(numero)
a=linea
b=linea
c=linea

WITH lobook.ActiveSheet
loexcel.range("d2").Select
loexcel.Selection.Font.Size = 22
loexcel.Selection.Font.Bold = .T.
.Range("d2").Value = folio
  DO WHILE !EOF()
  .Range("A"+alltrim(str(linea))).Value =proveedor
                .Range("B"+alltrim(str(linea))).Value = clave
                .Range("C"+alltrim(str(linea))).Value =producto
                .Range("D"+alltrim(str(linea))).Value =cantidad
                .Range("E"+alltrim(str(linea))).Value =unidad
                linea = linea + 1

               SKIP
           
  ENDDO
ENDWITH


_Screen.LockScreen= .F.
RELEASE loExcel

MESSAGEBOX("Venta realizada correctamente.",64+0,"Información")
Reply all
Reply to author
Forward
0 new messages