Visual Basic - duda sobre llamar una constante

Life is soft - evento anual de software empresarial
   
Vista:

duda sobre llamar una constante

Publicado por mario (3 intervenciones) el 04/03/2015 17:21:17
tengo una duda estoy haciendo un macro en excel con la opcion de programador, y nunca antes lo habia usado.
y me surge el siguiente problema

cree una constante que quiero que tenga el valor de la celda de la cual leera datos para luego guardar a la base de datos.
sin constantes funciona bien, el problema es que no logro llamarla

en esta linea es el error = "fecha = Format(HojaFechas.Cells(fecha_celda), "yyyymmdd")"


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Const fecha_celda As String = "4, 2 "
'-----------<Variables>----------
 
'Declaracion de hojas
Dim HojaFechas As Range
 
'Datos sacados de hoja "DATOS AUDITADOS"
Dim fecha
Dim hora_inicio As Variant
Dim hora_fin As Variant
Dim asunto
 
'-----------<Fin Variables>----------------------------
 
Sub Consolidar_Resultados()
 
'-----------<Definicion Hojas de Trabajo>--------------
Set HojaFechas = Sheets("Fechas").Range("A1:F5")
 
'-----------<Fin Definicion Hojas de Trabajo>----------
 
'-----------< Extraccion de Datos>---------------------
 
fecha = Format(HojaFechas.Cells(fecha_celda), "yyyymmdd")
hora_inicio = Replace(HojaFechas.Cells(4, 3), ",", ".")
hora_fin = Replace(HojaFechas.Cells(4, 4), ",", ".")
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Andres Leonardo

duda sobre llamar una constante

Publicado por Andres Leonardo (702 intervenciones) el 04/03/2015 21:21:44
Debes llamar la celda por .rango(l,c).value
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

duda sobre llamar una constante

Publicado por mario (3 intervenciones) el 04/03/2015 21:32:46
y como quedaria entonces ? Const celda_fecha = range (4,2) es que es primera vez que meto manos a las macros de excel.
y cambia a visual .net

pd: al momento de poner esto me dice es necesario una expresion de constante y me selecciona la palabra range
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

duda sobre llamar una constante

Publicado por Christian cmc1476@hotmail.com (666 intervenciones) el 17/03/2015 15:28:57
Mario fijate que el metodo cells recibe dos parametros numericos.

fecha = Format(HojaFechas.Cells(fecha_celda), "yyyymmdd")

en tu caso le estas pasando un string

Cambia por esto

fecha = Format(HojaFechas.Cells(4,2), "yyyymmdd")

saludos.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

duda sobre llamar una constante

Publicado por mario (3 intervenciones) el 17/03/2015 15:42:07
Gracias por responder,
pero esa no era mi duda xD mi duda era como asignarles constantes al rango en este caso era ( 4, 2 ) fila 4 columna 2

lo que hice por ahora fue crear 2 constantes const fecha_fila as integer = 4 y const fecha_colum as integer = 2

entonces me quedo asi fecha =
1
fecha = Format(HojaFechas.Cells(fecha_fila, fecha_colum), "yyyymmdd")
)

Lo que pasa es que tengo un codigo muy grande y me gustaria asignar una constante para cada celda,
cosa de que si alguien necesitara modificar algo solo se modifique desde las constantes.
pero me gustaria encontrar una forma donde me aceptara la instruccion const nombre as tipo = 4, 2

si a alguien se le ocurre como puede ser me ayudaria mucho
saludos :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar