Gewusst wie: Programmgesteuertes Ändern der Formatierung in Arbeitsblattzeilen, die ausgewählte Zellen enthalten

Sie können die Schriftart einer gesamten Zeile mit einer ausgewählten Zelle so ändern, dass der Text fett formatiert ist.

Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Dokument- und auf Anwendungsebene für Excel 2013 und Excel 2010. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.

So formatieren Sie die aktuelle Zeile fett und heben die Fettformatierung der Zeile wieder auf

  1. Deklarieren Sie eine statische Variable, um die zuvor ausgewählte Zeile zu verfolgen.

    Static previousRow As Integer = 0
    
    static int previousRow = 0;
    
  2. Rufen Sie mithilfe der ActiveCell-Eigenschaft einen Verweis auf die aktuelle Zelle ab.

    Dim currentCell As Excel.Range = Me.Application.ActiveCell
    
    Excel.Range currentCell = this.Application.ActiveCell;
    
  3. Formatieren Sie mithilfe der EntireRow-Eigenschaft der aktiven Zelle die aktuelle Zeile fett.

    currentCell.EntireRow.Font.Bold = True
    
    currentCell.EntireRow.Font.Bold = true; 
    
  4. Vergewissern Sie sich, dass der aktuelle Wert von previousRow nicht 0 (null) ist.Mit einem Wert von 0 (null) wird angegeben, dass dieser Code erstmalig durchlaufen wird.

    If previousRow <> 0 Then
    
    if (previousRow != 0)
    
  5. Stellen Sie sicher, dass sich die aktuelle Zeile von der vorherigen Zeile unterscheidet.

    If currentCell.Row <> previousRow Then
    
    if (currentCell.Row != previousRow)
    
  6. Rufen Sie einen Verweis auf einen Bereich ab, der die zuvor ausgewählte Zeile darstellt, und legen Sie fest, dass diese Zeile nicht fett formatiert sein soll.

    Dim rng As Excel.Range = DirectCast(ws.Rows(previousRow), Excel.Range)
    rng.EntireRow.Font.Bold = False
    
    Excel.Range rng = (Excel.Range)ws.Rows[previousRow];
    rng.EntireRow.Font.Bold = false;
    
  7. Speichern Sie die aktuelle Zeile, damit diese beim nächsten Durchlaufen die vorherige Zeile werden kann.

    previousRow = currentCell.Row
    
    previousRow = currentCell.Row;
    

Im folgenden Beispiel wird die vollständige Methode veranschaulicht.

Beispiel

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];
            rng.EntireRow.Font.Bold = false;
        }

    // Store the new row number for the next pass.
    previousRow = currentCell.Row;
}

Siehe auch

Aufgaben

Gewusst wie: Programmgesteuertes Anwenden von Formaten auf Bereiche in Arbeitsmappen

Gewusst wie: Programmgesteuertes Kopieren von Daten und Formatierungen zwischen Arbeitsblättern

Konzepte

Arbeiten mit Arbeitsblättern

Optionale Parameter in Office-Lösungen