Problemas con los separadores del sistema

2 envíos / 0 nuevos
Último envío
Sebastian
Imagen de Sebastian
Offline
última acción: Hace 5 años 11 meses
alta: 10/05/2018 - 15:01
Puntos: 25
Problemas con los separadores del sistema

Buenos días,

Actualmente me encuentro desarrollando una macro que debe insertar una formula en una celda, dicha formula esta compuesta por una constante llamada "td" de tipo decimal la cual ha sido declarada como tipo single y el codigo que estoy utilizando para insertar dicha variable en la formula y a su vez en la hoja de calculo es la siguiente:

ActiveCell.Offset(0, 1).FormulaR1C1 = "=NPV(" & td & ",RC[4]:R" & uf & "C[4])"

pero al ejecutrase dicha sentnecia ecel asume la coma del valor almacenado en la constante como un separador de la función, en otras palabras si el valor de td es 0,009, la formula que se refleja en la hoja de excel es =VA(0;009;E5:E10).

ya he intentado cambiar la configuracion regional de excel utilizando los siguientes argumentos

With Application

.DecimalSeparator = "."

.ThousandsSeparator = ","

.UseSystemSeparators = True

pero no funciono y a su vez intente utilizar el separador como variable pero tampoco funciono separar = Application.International(xlListSeparator).

Agradezco y valoro mucho sus comentarios y opiniones, feliz día

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 3 semanas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
No hace falta que te

No hace falta que te compliques tanto. Simplemente haz un replace así:

ActiveCell.Offset(0, 1).FormulaR1C1 = "=NPV(" & replace(td,",",".") & ",RC[4]:R" & uf & "C[4])"

 

Un saludo