Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

excel

Estas en el tema de excel en el foro de Visual Basic clásico en Foros del Web. hola a todos, envio una cantidad con formato desde un textbox a una celda en excel, pero cuando quiero ver esa cantidad de esa celda ...
  #1 (permalink)  
Antiguo 04/03/2010, 05:25
 
Fecha de Ingreso: diciembre-2008
Mensajes: 9
Antigüedad: 15 años, 4 meses
Puntos: 0
excel

hola a todos, envio una cantidad con formato desde un textbox a una celda en excel, pero cuando quiero ver esa cantidad de esa celda en otra celda con la siguiente formula "=SUBTOTALES(9;C:C)" no la reconoce.

el codigo del textbox es:

'toda cantidad que escriba en este textbox se guarda en la celda C2:

Private Sub txtDebe_Exit(ByVal Cancel As MSForms.ReturnBoolean)
txtDebe.Value = Format(Val(txtDebe), "$ #,##0.00")
Range("C2").Select
ActiveCell.FormulaR1C1 = txtDebe
End Sub

y la formula de la celda F4 es:
=SUBTOTALES(9;C:C)
  #2 (permalink)  
Antiguo 08/03/2010, 14:22
 
Fecha de Ingreso: mayo-2008
Mensajes: 11
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: excel

Lo que tenés que hacer es darle formato moneda a la celda y luego poner el valor sin formato.

Si no sabés cómo hacerlo, podés grabar una macro en excel mientras lo hacés a mano. Luego mirás el código de VBA que te generó excel y listo.

O sea, sobre excel, ir a: Tools -> Macro -> Record New Macro -> Aceptar
Aparecerá una barra de herramientas flotante.
Poner el formato a la celda y escribir a mano el valor sin formato
Poner Stop en la barra de herramientas flotante que apareció
Ir a Tools -> Macro -> Visual Basic editor -> Abrir Modules -> Module1 y ahí tendremos el código.

A mí me generó este código:

Range("F4").Select
Selection.NumberFormat = "$#,##0.00"
ActiveCell.FormulaR1C1 = "55"

Para pegarlo en visual, deberías tener un par de variables ...

Dim obExcelApp As excel.Application
Dim obExcelWorkbook As excel.Workbook
Dim Sheet As excel.Worksheet

Set obExcelApp = New excel.Application
obExcelApp.Workbooks.Open AppPath & XLS
Set obExcelWorkbook = obExcelApp.Workbooks(XLS)
Set Sheet = obExcelWorkbook.Sheets(1)
Sheet.Activate

Sheet.Range("F4").Select
obExcelApp.Selection.NumberFormat = "$#,##0.00"
Sheet.ActiveCell.FormulaR1C1 = "55"

Si no usás esas variables, a veces te va a funcionar el código pero a veces no.

Espero que esto resuelva tu problema.
Saludos.
Caro.

Etiquetas: excel
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:37.