Excel - duda sobre llamar una constante

   
Vista:

duda sobre llamar una constante

Publicado por mario (1 intervención) el 04/03/2015 20:15:36
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")"

lo que quiero es que llame el 4,2 asi tal cual asi cuando alguien tenga que modificar el codigo solo modifique lo puesto en la constante en al momento en que una celda de excel sea movida.

osea en ves de que sea : hora_inicio = Replace(HojaFechas.Cells(4, 3), ",", ".")
que sea: hora_inicio = Replace(HojaFechas.Cells(Hora_celda), ",", ".")

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

duda sobre llamar una constante

Publicado por Martin (9 intervenciones) el 12/03/2015 22:09:29
No te va a funcionar de esa forma porque el dato que necesita CELLS no es String, sino dos valores numéricos.
Tendrías que probar, para no rehacer todo el código, directamente con RANGE.

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 = "B4"
'-----------<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.Range(fecha_celda), "yyyymmdd")
hora_inicio = Replace(HojaFechas.Cells(4, 3), ",", ".")
hora_fin = Replace(HojaFechas.Cells(4, 4), ",", ".")

Ojalá te sirva así, cualquier cosa me contás
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