Gewusst wie: Ändern der Formatierung in Arbeitsblattzeilen, die ausgewählte Zellen enthalten
Aktualisiert: November 2007
Betrifft |
---|
Die Informationen in diesem Thema gelten nur für die angegebenen Visual Studio Tools for Office-Projekte und Versionen von Microsoft Office. Projekttyp
Microsoft Office-Version
Weitere Informationen finden Sie unter Verfügbare Features nach Anwendung und Projekttyp. |
Sie können die Schriftart einer gesamten Zeile mit einer ausgewählten Zelle so ändern, dass der Text fett formatiert ist.
So formatieren Sie die aktuelle Zeile fett und heben die Fettformatierung der Zeile wieder auf
Deklarieren Sie eine statische Variable, um die zuvor ausgewählte Zeile zu verfolgen.
Static previousRow As Integer = 0
static int previousRow = 0;
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;
Formatieren Sie mithilfe der EntireRow-Eigenschaft der aktiven Zelle die aktuelle Zeile fett.
currentCell.EntireRow.Font.Bold = True
currentCell.EntireRow.Font.Bold = true;
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)
Stellen Sie sicher, dass sich die aktuelle Zeile von der vorherigen Zeile unterscheidet.
If currentCell.Row <> previousRow Then
if (currentCell.Row != previousRow)
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, missing]; rng.EntireRow.Font.Bold = false;
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, missing];
rng.EntireRow.Font.Bold = false;
}
// Store the new row number for the next pass.
previousRow = currentCell.Row;
}
Siehe auch
Aufgaben
Gewusst wie: Anwenden von Formaten für Bereiche in Arbeitsmappen
Gewusst wie: Kopieren von Daten und Formatierungen zwischen Arbeitsblättern