¿Como puedo referirme a las celdas seleccionadas en una hoja Excel? desde VB 2005

11/03/2006 - 11:22 por Carlos | Informe spam
Tengo un Programa VB 2005 Express para pasar un DBGridView a Excel.

Ya me funciona el pasar datos, pero cuando voy a "ponerlos bonitos" me da un
error.

Hago un select() de un rango de celdas y las selecciona, pero cuando voy a
referirme a las celdas seleccionadas, me dice:

"Public member 'selection' on type 'Worksheet' not found."

el codigo es:

objHojaExcel.Range(objHojaExcel.Cells(PrimeraFila, PrimeraColumna),
objHojaExcel.Cells(FilaaEscribir, PrimeraColumna)).Select()

objHojaExcel.selection.Borders(9).LineStyle = 1 ' El 1 es "xlContinuous"

¿Como puedo referirme a las celdas seleccionadas en una hoja Excel?

Gracias.

Carlos
 

Leer las respuestas

#1 Luis Miguel Blanco
13/03/2006 - 23:20 | Informe spam
Hola Carlos

Prueba a aplicar el borde al rango de celdas por separado: superior,
inferior, izquierda y derecha, de forma similar a como puedes ver en el
siguiente código de ejemplo:

'//////////////////////////////////////
' iniciar excel y añadir hoja de cálculo
Dim oEx As Excel.Application = New Excel.Application
oEx.Visible = True
oEx.WindowState = Excel.XlWindowState.xlNormal
oEx.Workbooks.Add()

' agregar datos
oEx.Range("B2").Select()
oEx.ActiveCell.FormulaR1C1 = "AAAA"
oEx.Range("B3").Select()
oEx.ActiveCell.FormulaR1C1 = "BBBB"
oEx.Range("C2").Select()
oEx.ActiveCell.FormulaR1C1 = "CCCC"
oEx.Range("C3").Select()
oEx.ActiveCell.FormulaR1C1 = "DDDD"

' seleccionar rango de celdas
oEx.Range("B2:C3").Select()

' aplicar bordes a la selección
oEx.Selection.Borders(Excel.XlBordersIndex.xlEdgeLeft).LineStyle =
Excel.XlLineStyle.xlContinuous
oEx.Selection.Borders(Excel.XlBordersIndex.xlEdgeLeft).Weight =
Excel.XlBorderWeight.xlThick
oEx.Selection.Borders(Excel.XlBordersIndex.xlEdgeLeft).ColorIndex =
Excel.Constants.xlAutomatic

oEx.Selection.Borders(Excel.XlBordersIndex.xlEdgeTop).LineStyle =
Excel.XlLineStyle.xlContinuous
oEx.Selection.Borders(Excel.XlBordersIndex.xlEdgeTop).Weight =
Excel.XlBorderWeight.xlThick
oEx.Selection.Borders(Excel.XlBordersIndex.xlEdgeTop).ColorIndex =
Excel.Constants.xlAutomatic

oEx.Selection.Borders(Excel.XlBordersIndex.xlEdgeBottom).LineStyle =
Excel.XlLineStyle.xlContinuous
oEx.Selection.Borders(Excel.XlBordersIndex.xlEdgeBottom).Weight =
Excel.XlBorderWeight.xlThick
oEx.Selection.Borders(Excel.XlBordersIndex.xlEdgeBottom).ColorIndex =
Excel.Constants.xlAutomatic

oEx.Selection.Borders(Excel.XlBordersIndex.xlEdgeRight).LineStyle =
Excel.XlLineStyle.xlContinuous
oEx.Selection.Borders(Excel.XlBordersIndex.xlEdgeRight).Weight =
Excel.XlBorderWeight.xlThick
oEx.Selection.Borders(Excel.XlBordersIndex.xlEdgeRight).ColorIndex =
Excel.Constants.xlAutomatic

oEx.Range("B10").Select()
'//////////////////////////////////////

Espero que te funcione de esta forma.
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Carlos" wrote:



Tengo un Programa VB 2005 Express para pasar un DBGridView a Excel.

Ya me funciona el pasar datos, pero cuando voy a "ponerlos bonitos" me da un
error.

Hago un select() de un rango de celdas y las selecciona, pero cuando voy a
referirme a las celdas seleccionadas, me dice:

"Public member 'selection' on type 'Worksheet' not found."

el codigo es:

objHojaExcel.Range(objHojaExcel.Cells(PrimeraFila, PrimeraColumna),
objHojaExcel.Cells(FilaaEscribir, PrimeraColumna)).Select()

objHojaExcel.selection.Borders(9).LineStyle = 1 ' El 1 es "xlContinuous"

¿Como puedo referirme a las celdas seleccionadas en una hoja Excel?

Gracias.

Carlos



Preguntas similares