Mit Makro in Excel doppelt unterstreichen und Summen bilden
Schritt-für-Schritt-Anleitung
- Öffne Excel und drücke
ALT + F11, um den VBA-Editor zu öffnen.
- Gehe zu
Einfügen > Modul, um ein neues Modul zu erstellen.
- Kopiere den folgenden Code in das Modul:
Sub DoppeltUnterstreichen()
Dim A As Long
Dim Bereich As Range, SBereich As Range, strAdress$
Application.ScreenUpdating = False
Set Bereich = Range("B2:B5000") 'Suchbereich
Bereich.Offset(0, 3).Font.Underline = xlNone
For A = 1 To 5000
If A = 1 Then
Set SBereich = Bereich.Find(What:="*", After:=Bereich(1), LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, _
SearchFormat:=False)
If Not SBereich Is Nothing Then
strAdress$ = SBereich.Address
SBereich.Offset(0, 3).Font.Underline = xlUnderlineStyleDouble
End If
Else
Set SBereich = Bereich.FindNext(After:=SBereich)
If SBereich.Address <> strAdress And Not SBereich Is Nothing Then
SBereich.Offset(0, 3).Font.Underline = xlUnderlineStyleDouble
Else
Exit For
End If
End If
Next A
Application.ScreenUpdating = True
End Sub
- Schließe den VBA-Editor und kehre zu Excel zurück.
- Drücke
ALT + F8, wähle das Makro DoppeltUnterstreichen aus und klicke auf Ausführen.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn Du kein Makro verwenden möchtest, kannst Du die bedingte Formatierung nutzen:
- Wähle die Zellen in Spalte E aus.
- Gehe zu
Start > Bedingte Formatierung > Neue Regel.
- Wähle
Formel zur Ermittlung der zu formatierenden Zellen verwenden.
- Gib die Formel ein:
=NICHT(ISTFEHLER(FINDEN("*";B2)))
- Setze die Formatierung auf „Unterstreichen“.
Praktische Beispiele
- Doppelt unterstreichen: Wenn in Zelle B2 ein
* steht, wird in E2 die Zahl doppelt unterstrichen.
- Summenbildung: Bei Verwendung des Makros zur Summenbildung wird die Summe der Zahlen in Spalte E zwischen zwei
*-Zeichen berechnet und unterstrichen.
Sub SummenBildung()
Dim A As Long
Dim Bereich(2) As Range
Application.ScreenUpdating = False
Columns(5).Font.Underline = xlNone
Columns(5).ClearContents
For A = Cells(Rows.Count, 2).End(xlUp).Row To 2 Step -1
If Cells(A, 2) = "*" And Bereich(1) Is Nothing Then
Set Bereich(1) = Cells(A, 2)
ElseIf Not Bereich(1) Is Nothing And Cells(A, 2) = "*" Or A = 2 Then
Set Bereich(2) = Range(CStr(Cells(A, 2).Address & ":" & Bereich(1).Address))
Bereich(1).Offset(0, 3) = Application.WorksheetFunction.Sum(Bereich(2))
Bereich(1).Offset(0, 3).Font.Underline = xlUnderlineStyleDouble
Set Bereich(1) = Nothing
Set Bereich(2) = Nothing
End If
Next A
Application.ScreenUpdating = True
End Sub
Tipps für Profis
- Nutze die
Option Explicit-Anweisung am Anfang deines Moduls, um sicherzustellen, dass Du alle Variablen deklariert hast.
- Überlege, ob du auch doppelt unterstreichen in Word benötigst, um die gleichen Makro-Techniken dort anzuwenden.
- Teste den Code immer in einer Kopie deiner Arbeitsmappe, um Datenverluste zu vermeiden.
FAQ: Häufige Fragen
1. Was bedeutet 100 doppelt unterstrichen?
Das bedeutet, dass in Excel die Zahl 100 durch einen doppelten Unterstrich hervorgehoben wird, was oft zur Betonung dient.
2. Kann ich das Makro auch in Word verwenden?
Ja, ähnliche VBA-Code-Logiken können auch in Word verwendet werden, um Text doppelt zu unterstreichen, jedoch sind die spezifischen Objekte und Methoden unterschiedlich.