ejemplo:
Dim a
For a = 1 To TextBox3.Value
ActiveCell.Value = Label7.Caption + TextBox2.Value
ActiveCell.Offset(0, 2).Select
Next a
Si la fecha actual es 13/06/2009 + 2 , el resultado correcto seria 15/06/2009
pero el problema es que se imprime como 13/06/20092
o sea el numero 2 se concatena con la fecha en la parte de los años
como solucionar este problema?
> Necesito generar una serie de fechas basadas en la actual.
> Esta se imprime en una etiqueta, a partir de la segunda las genero con un bucle
> pero ahora el problema es que se imprimen en la celda como si estuvieran concatenadas y no como numeros
> ejemplo:
> Dim a
> For a = 1 To TextBox3.Value
> ActiveCell.Value = Label7.Caption + TextBox2.Value
> ActiveCell.Offset(0, 2).Select
> Next a
> Si la fecha actual es 13/06/2009 + 2, el resultado correcto seria 15/06/2009
> pero el problema es que se imprime como 13/06/20092
> o sea el numero 2 se concatena con la fecha en la parte de los a#os
> como solucionar este problema?
un detalle es que la propiedad .Caption devuelve un tipo de datos String y el "+" actua como un "&" aun para un TextBox.Value
otro detalle es que el sistema de fechas (mas bien su orden) depende de la configuracion regional del equipo donde corren tus macros
es decir, deberas estar seguro de que no haya conflictos donde el orden de fechas NO sea como el tuyo (dd/mm/aaaa) (????)
por lo pronto, prueba cambiando esta linea de tus instrucciones:
de: -> ActiveCell.Value = Label7.Caption + TextBox2.Value
a: -> ActiveCell.Value = CDate(CLng(Label7.Caption) + Val(TextBox2.Value))
y de todas formas, no dejes de consutar/analizar/entender/... el siguiente articulo:
-> http://www.bmsltd.co.uk/ExcelProgRef/Ch22/ProgRefCh22.htm (de Stephen Bullen)
si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.