Anzeige
Archiv - Navigation
1780to1784
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

application.findformat

application.findformat
25.09.2020 12:31:15
Holger
Hallo,
ich möchte einen Bereich nach einer Zelle mit einem Unterstrich durchsuchen
Folgende Prozedur bringt jedoch nicht das gewünschte Ergebnis. Suche ich nach einem FontStyle funktioniert der Code jedoch, nicht jedoch für LineStyles.
In Excel selbst funktioniert die Suche, durch Application.FindFormat.Clear wird jedoch die Eingabe durch Excel gelöscht.

Sub FindLineStyle()
Dim rg As Range
Range("A4").Select
Debug.Print "LineStyle before set = " & Range("A4").Borders(xlEdgeBottom).LineStyle
Selection.Borders(xlEdgeBottom).LineStyle = xlContinuous
Debug.Print "LineStyle after set = " & Range("A4").Borders(xlEdgeBottom).LineStyle
Application.FindFormat.Clear
Range("A1:A9").Select
Application.FindFormat.Borders(xlEdgeBottom).LineStyle = xlContinuous
Set rg = Selection.Find(What:="", SearchFormat:=True)
If Not rg Is Nothing Then
Debug.Print rg.row
Else
Debug.Print "LineStyle after search = " & Range("A4").Borders(xlEdgeBottom).LineStyle
End If
Range("A4").Borders(xlEdgeBottom).LineStyle = xlLineStyleNone
Debug.Print vbCrLf
End Sub

Vielen Dank im Voraus.
Gruß Holger

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: application.findformat
25.09.2020 16:45:04
Yal
Hallo Holger,
erkläre bitte mit einfachen Worte, was Du ermitteln möchte:
_ die Adresse aller Zellen, die nur eine untere Rahmelinie (xlEdgeBottom) haben
_ die Adresse aller Zellen, die midestens eine untere Rahmelinie (xlEdgeBottom) haben
_ ...
VG Yal
AW: application.findformat
25.09.2020 17:09:44
Beverly
Hi Holger,
vielleicht so:
    With Application.FindFormat.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
End With
Cells.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=True).Activate

Anzeige
Ergänzung
25.09.2020 17:12:59
Beverly
Bzw. wenn du die Adresse der Zelle benötigst, dann so:
Sub FormatSuchen()
Dim rngZelle As Range
With Application.FindFormat.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
End With
Set rngZelle = Cells.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=True)
MsgBox rngZelle.Address
End Sub


AW: Ergänzung
28.09.2020 10:01:14
Holger
Hallo Beverly,
danke für deine Mühe. Dein Vorschlag würde funktionieren, solange ich Application.findformat.clear nicht benutze. Da ich an unterschiedlichen Stellen nach unterschiedlichen Formatierungen suche, muss ich jedoch Application.findformat.clear benutzen. Inzwichen hat mir ein User in einem anderen Forum bestätigt, das in "Findformat der Wurm drin ist". (siehe: https://www.vba-forum.de/View.aspx?ziel=61926-Application.FindFormat_LineStyle)
Gruß Holger
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige