Cómo: Cambiar el formato en filas de hojas de cálculo que contienen celdas seleccionadas
Actualización: noviembre 2007
Se aplica a |
---|
La información de este tema sólo se aplica a los proyectos y versiones especificados de Visual Studio Tools para Office de Microsoft Office. Tipo de proyecto
Versión de Microsoft Office
Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto. |
Puede cambiar la fuente de una fila completa que contiene una celda seleccionada para que el texto esté en negrita.
Para intercambiar el estilo de negrita de dos filas
Declare una variable estática para realizar el seguimiento de la fila seleccionada anteriormente.
Static previousRow As Integer = 0
static int previousRow = 0;
Recupere una referencia a la celda actual utilizando la propiedad ActiveCell.
Dim currentCell As Excel.Range = Me.Application.ActiveCell
Excel.Range currentCell = this.Application.ActiveCell;
Aplique estilo de negrita a la fila actual utilizando la propiedad EntireRow de la celda activa.
currentCell.EntireRow.Font.Bold = True
currentCell.EntireRow.Font.Bold = true;
Compruebe que el valor actual de previousRow no es 0. Un 0 (cero) indica que ésta es la primera aparición en este código.
If previousRow <> 0 Then
if (previousRow != 0)
Compruebe que la fila actual es distinta de la anterior.
If currentCell.Row <> previousRow Then
if (currentCell.Row != previousRow)
Recupere una referencia a un rango que represente la fila seleccionada previamente y establezca que esa fila no esté en negrita.
Dim rng As Excel.Range = DirectCast(ws.Rows(previousRow), Excel.Range) rng.EntireRow.Font.Bold = False
Excel.Range rng = (Excel.Range)ws.Rows[previousRow, missing]; rng.EntireRow.Font.Bold = false;
Almacene la fila actual para que pueda pasar a ser la fila anterior en la siguiente pasada.
previousRow = currentCell.Row
previousRow = currentCell.Row;
En el siguiente ejemplo se muestra el método completo.
Ejemplo
Private Sub BoldCurrentRow(ByVal ws As Excel.Worksheet)
' Keep track of the previously bolded row.
Static previousRow As Integer = 0
' Work with the current active cell.
Dim currentCell As Excel.Range = Me.Application.ActiveCell
' Bold the current row.
currentCell.EntireRow.Font.Bold = True
' If a pass has been done previously, make the old row not bold.
' Make sure previousRow is not 0 (otherwise this is your first pass through).
If previousRow <> 0 Then
' Make sure the current row is not the same as the previous row.
If currentCell.Row <> previousRow Then
Dim rng As Excel.Range = DirectCast(ws.Rows(previousRow), Excel.Range)
rng.EntireRow.Font.Bold = False
End If
End If
' Store the new row number for the next pass.
previousRow = currentCell.Row
End Sub
// Keep track of the previously bolded row.
static int previousRow = 0;
private void BoldCurrentRow(Excel.Worksheet ws)
{
// Work with the current active cell.
Excel.Range currentCell = this.Application.ActiveCell;
// Bold the current row.
currentCell.EntireRow.Font.Bold = true;
// If a pass has been done previously, make the old row not bold.
// Make sure previousRow is not 0 (otherwise this is your first pass through).
if (previousRow != 0)
// Make sure the current row is not the same as the previous row.
if (currentCell.Row != previousRow)
{
Excel.Range rng = (Excel.Range)ws.Rows[previousRow, missing];
rng.EntireRow.Font.Bold = false;
}
// Store the new row number for the next pass.
previousRow = currentCell.Row;
}
Vea también
Tareas
Cómo: Aplicar estilos a los rangos de los libros
Cómo: Copiar datos y formato de una hoja de cálculo al resto
Conceptos
Descripción de los parámetros opcionales en las soluciones de Office