Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Zeichen hervorheben

Betrifft: Zeichen hervorheben von: Volker
Geschrieben am: 23.07.2013 12:41:16

Hallo,

Ab A3 abwärts stehen bei mir dem Alphabet nach geordnete Inhalte welche sich ständig ändern. Um die Suche zu erleichtern, möchte den ersten Buchstaben bei dem das Alphabet wechselt hervorheben.

Z.B.
Allegro (Amazing Solos)
America (Amazing Solos)
Basse Danse (Amazing Solos)
Blues (Matyas Seiber)
Bourree (Amazing Solos)
Budicek (Amazing Solos)
Cake-Walk (Matyas Seiber)
Carneval Salteno (Amazing Solos)
Charleston (Matyas Seiber)
Foxtrot (Matyas Seiber)
In the wee small hours (James Rae)
Mr. Creek (James Rae)
Paragon Rag (Amazing Solos)
Peruvian Dance Tune (Amazing Solos)
Rachel and the boys (James Rae)
Stalost (Amazing Solos)
Tango 1 und 2 (Matyas Seiber)
Tanz des Bürgermeisters (Amazing Solos)
Vintage Blue (James Rae)
Walz (Matyas Seiber)
Walz for Emily (James Rae)
Woogie Boogie (Amazing Solos)

Kann mir diesbezüglich jemand in Richtung VBA weiterhelfen?

Besten Dank
Gruß Volker

  

Betrifft: AW: Zeichen hervorheben von: JACKD
Geschrieben am: 23.07.2013 12:53:37

Hallo Volker

So in etwa?

Sub Makro3()
With Worksheets("Tabelle1")
lzeile = .Cells(Rows.Count, 1).End(xlUp).Row
Buchstabe = "A"

For i = 1 To lzeile
    BuchstabeNeu = Left(.Cells(i, 1), 1)
    
    If Buchstabe <> BuchstabeNeu Then
    
     With .Cells(i, 1).Characters(Start:=1, Length:=1).Font
        .Name = "Calibri"
        .FontStyle = "Fett"
        .Size = 14
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0
        .ThemeFont = xlThemeFontMinor
    End With
    Buchstabe = BuchstabeNeu
    End If
Next
End With
    
End Sub
Grüße


  

Betrifft: Ergänzung von: JACKD
Geschrieben am: 23.07.2013 12:56:15

Die Zeile

Buchstabe = "A"

kann auskommentiert werden bzw. raus.
Sonst Verändert er "A" nicht

Grüße


  

Betrifft: AW: Ergänzung von: Matze Matthias
Geschrieben am: 23.07.2013 13:13:10

Hi Jack,
,...spar dir doch den Rest hier auch noch, ist ja auch nicht gewollt:

.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor

Ich hät aber gerne noch eine bitte um dies zu erweitern, soll ein Zeile einfügt werden um dann den 1ten gefunden Buchstaben zu setzen.

A
Apfel
Apfelsiene
B
Birne
...

das wird etwas komplexer, ich muss ja dann später wenn es mehrmals ausgeführt wird erkennen ob
schon mal eine Zeile eingefügt wurde. Eventuell vorher prüfen wenn Länger wie ein Buchstabe einfügen ansonsten nicht

jaja der Matze und seine Wünsche,...
Matze


  

Betrifft: AW: Ergänzung von: JACKD
Geschrieben am: 23.07.2013 13:31:42

Hallo Matze

ja hätt ich mir sicher sparen können.

Ich habs nur aus dem Grund drin gelassen, dass man damit noch bissl Spielen bzw. rumexperimentieren kann. =)

Deiner Fragestellung kann ich auch nicht wirklich folgen.
Da zum einen es nicht gefordert ist,
und B du ja ein Level hast, um das selbst abzubilden.
Daher kommt für mich nur die Option in Frage das du mich auf nen Holzweg führen willst, oder mich auf einen Strukturfehler in meinem Code hinweisen willst.

Grüße


  

Betrifft: AW: Ergänzung-so ? von: robert
Geschrieben am: 23.07.2013 18:20:13

https://www.herber.de/forum/messages/1323685.html


  

Betrifft: AW: Ergänzung von: Volker
Geschrieben am: 23.07.2013 14:20:03

Hallo Jack,

danke nach einigen Änderungen funktioniert's.
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor

...mußte ich wegstreichen.

Gruß
Volker


  

Betrifft: AW: Zeichen hervorheben von: UweD
Geschrieben am: 23.07.2013 13:13:26

Hallo Volker


so z.B.

Sub ErsteFett()
    On Error GoTo Fehler
    Dim TB, i%, Z&
    Dim SP%, ZE&, LR&
    Set TB = ActiveSheet
    SP = 1 'Spalte A
    ZE = 1 'Zeile 1
    LR = TB.Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
    Application.ScreenUpdating = False
    With TB
        .Columns(SP).Characters(Start:=1, Length:=1).Font.FontStyle = "Normal" 'zurücksetzen
        For i = ZE To LR - 1
            Z = IIf(i = ZE, 0, 1)
            If i = ZE Or Left(.Cells(i + 1, SP), 1) <> Left(.Cells(i, SP), 1) Then
                .Cells(i + Z, SP).Characters(Start:=1, Length:=1).Font.FontStyle = "Fett"
            End If
        Next
    End With
    Err.Clear
Fehler:
    If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub
Gruß UweD


  

Betrifft: AW: Zeichen hervorheben von: Volker
Geschrieben am: 23.07.2013 14:21:08

Hallo Uwe,

besten Dank. Klappt.

Gruß Volker


  

Betrifft: AW: Zeichen hervorheben von: robert
Geschrieben am: 23.07.2013 13:17:40

Hi,

mit diesem Code erstellst Du eine Liste mit den Buchstaben A bis Z, fett formatiert.

Unterhalb der Z-Zeile fügst Du Deine Titel ein und sortierst dann die Spalte A

Jeder weitere Titel wird dann in die letzte freie Zelle in Spalte A
eingetragen und wieder sortieren.

Probiers einfach mal aus..

Gruß
robert

Sub ABC()
Dim i%, z%
Columns(1).Clear
z = 3
For i = 65 To 90
Cells(z, 1) = Chr(i)
Cells(z, 1).Font.Bold = True
z = z + 1
Next
End Sub



  

Betrifft: AW: Zeichen hervorheben von: Volker
Geschrieben am: 23.07.2013 14:27:31

Hallo Robert,

danke, aber so ganz kommt nicht das Vorgestellte heraus.
Ich habe mich derweil für eine vorher vorgeschlagene Version entschieden.

Gruß Volker


  

Betrifft: Ist OK ! owT von: robert
Geschrieben am: 23.07.2013 14:58:54




 

Beiträge aus den Excel-Beispielen zum Thema "Zeichen hervorheben"