Access - poner un borde a unas celdas de un libro excel

 
Vista:

poner un borde a unas celdas de un libro excel

Publicado por jose (830 intervenciones) el 24/05/2013 17:45:01
agradecería cualquier ayuda o sugerencia:

Queria poner un borde a unas celdas de un libro excel que abro con access, pero me da el siguiente error .


"el objeto no admite esta propiedad o metodo "




libro.ActiveSheet.Range("A1:F25").Select



Rem IZQUIERDA
With libro.ActiveSheet.Selection.Borders(xlEdgeLeft) - linea en la que da el error
.LineStyle = xlContinuous
.Weight = xlMedium
.colorindex = xlAutomatic
End With

Rem DERECHA
With libro.ActiveSheet.Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.colorindex = xlAutomatic
End With

Rem ARRIBA
With libro.ActiveSheet.Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.colorindex = xlAutomatic
End With

Rem ABAJO
With libro.ActiveSheet.Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.colorindex = xlAutomatic
End With
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

poner un borde a unas celdas de un libro excel

Publicado por jose (830 intervenciones) el 25/05/2013 15:32:07
Gracias Norberto por tu interés, pero no me he equivocado de foro

La cosa es que desde access en vba genero una tabla excel y no consigo poner los bordes a las celdas con el codigo descrito.(el cual está bien)

Me da que o no le abro bien , o me falta de incluir alguna referencia relacionada con excell

Sigo buscando, pero si os enterais de algo o bien ya os ha pasado a vosotoros, agradeceria me dijerais como lo solucionasteis.
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
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

poner un borde a unas celdas de un libro excel

Publicado por Norberto (753 intervenciones) el 27/05/2013 16:19:26
Hola de nuevo.

Probé tu código directamente en Excel para ver si el error estaba en la automatización desde Access o no y también me daba el error y probé a dividir la referencia al objeto Selection de la siguiente manera:

...
Dim Hoja as WorkSheet, Rango As Range

Set Hoja = Libro.ActiveSheet
Set Rango = Hoja.Range("A1:F25")

y a partir de ahí

With Rango.Borders(xlEdgeLeft) - linea en la que da el error
.LineStyle = xlContinuous
.Weight = xlMedium
.colorindex = xlAutomatic
End With

etc.

Y funcionaba, Por ello me dio la sensación de que Selection no es una propiedad válida para un objeto WorkSheet. Es decir Selection es "lo que esté seleccionado" y no "lo que esté seleccionado en la hoja tal" (de hecho, consultando la ayuda corroboré que Selection corresponde a los objetos Application y Window y no a Range)

Siempre me ha parecido un poco lioso la forma de referirse a las celdas en Excel (range, cels, offset, selection) y siempre he tenido que hacer muchas pruebas para dar con la solución.

Un saludo.
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

poner un borde a unas celdas de un libro excel

Publicado por jose (830 intervenciones) el 27/05/2013 17:21:19
Gracias de nuevo Norberto, por tu aportacion, que espero probar y usar para próximas aplicaciones.
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
sin imagen de perfil

poner un borde a unas celdas de un libro excel

Publicado por deneg_nhj (348 intervenciones) el 25/05/2013 17:00:29
Jose

Yo utilizo lo siguiente:

1
2
3
4
5
6
7
8
With xlsLibro.ActiveSheet
                        .Cells(6, iNumColumn ).HorizontalAlignment = xlCenter
                        .Cells(6, iNumColumn ) = xValor
                        .Cells(6, iNumColumn ).Font.Size = 9
                        .Cells(6, iNumColumn).Borders.LineStyle = 1
 
 
End With 'With xlsLibro.ActiveSheet


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

poner un borde a unas celdas de un libro excel

Publicado por jose (830 intervenciones) el 25/05/2013 18:06:32
Gracias deneg


Me has solucionado el problema

Quedo a tu disposición por si en algun momento está a mi alcance ayudarte.

Jose manuel


Y por si a alguien le pudiera servir, pongo 2 formas de hacerlo , por celdas y por un rango


por celdas -----------------------------------------

For Columna = 1 To 10 Step 1
For fila = 1 To 20 Step 1

Rem- estilo de la linea - 1 linea continua- 2 puntos -4 puntos y guiones
libro.ActiveSheet.Cells(fila, Columna).Borders.LineStyle = 1
Rem grosor de la linea entre 2 y 4
libro.ActiveSheet.Cells(fila, Columna).Borders.Weight = 2
Rem color de los bordes- 1 negro 2 sin blanco 3 rojo 4 verde claro 5 azul 6 amarillo 7 morado 8 azul claro
Rem 9 marrón 10 verde oscuro 11 azul oscuro
libro.ActiveSheet.Cells(fila, Columna).Borders.ColorIndex = 12



Next fila
Next Columna



por rango de celdas -----------------------------------------------


With libro.ActiveSheet.Range("A3:F10").Borders
.LineStyle = 1
.Weight = 2
.ColorIndex = 3
End With
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