Thema Datum  Von Nutzer Rating
Antwort
14.11.2022 20:13:54 Lothar
NotSolved
15.11.2022 00:15:16 xlKing
NotSolved
16.11.2022 09:19:49 Lothar
NotSolved
17.11.2022 01:56:38 xlKing
NotSolved
17.11.2022 02:19:06 xlKing
NotSolved
17.11.2022 09:46:58 Lothar
NotSolved
Rot Suchen und Ersetzen zwischen Tags
17.11.2022 09:52:04 Gast78825
NotSolved
17.11.2022 13:56:09 xlKing
NotSolved
17.11.2022 14:04:15 xlKing
NotSolved
17.11.2022 16:03:23 Gast28655
NotSolved
17.11.2022 17:49:52 Gast23666
NotSolved

Ansicht des Beitrags:
Von:
Gast78825
Datum:
17.11.2022 09:52:04
Views:
211
Rating: Antwort:
  Ja
Thema:
Suchen und Ersetzen zwischen Tags

Habe ich den Code so richtig korrigiert?

Sub Ersetzen()
    Dim s As Long, e As Long
    s = Selection.Start: e = Selection.End

    vTextFN = " "

    With Selection.Find
        .Text = vTextFN
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        Do
          .Execute
          If .Found And InQuotes(.Parent.Range) And .Parent.Start >= s And .Parent.End <= e Then
            .Parent.Text = "_"
            .Parent.Collapse wdCollapseEnd
          End If
        Loop Until .Found = False
    End With
     
End Sub

Function InQuotes(rng As Range) As Boolean
  
  Dim drng As Range, t As String
  Set drng = rng.Parent.Range
  Dim a As Long, a1 As Long, a2 As Long, a3 As Long, b As Long, b1 As Long, b2 As Long, b3 As Long, x As Byte
  a1 = InStrRev(drng.Text, Chr(34), rng.Start + 1)
  a2 = InStrRev(drng.Text, Chr(132), rng.Start + 1)
  a3 = InStrRev(drng.Text, Chr(147), rng.Start + 1)
  a = IIf(a2 > a1, a2, a1)
  a = IIf(a3 > a, 0, a)
  b1 = InStr(rng.Start + 1, drng.Text, Chr(34))
  b2 = InStr(rng.Start + 1, drng.Text, Chr(147))
  b3 = InStr(rng.Start + 1, drng.Text, Chr(132))
  b = IIf(b2 < b1 And b2 > 0 Or b1 = 0, b2, b1)
  b = IIf(b3 < b And b3 > 0, 0, b)
  If a > 0 Then
    t = drng.Characters(a).Next
    If t <> " " And t <> Chr(13) And t <> Chr(10) Then x = x + 1
  End If
  If b > 0 Then
    t = drng.Characters(b).Previous
    If t <> " " And t <> Chr(13) And t <> Chr(10) Then x = x + 1
  End If
  
  InQuotes = x = 2
  
End Function

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
14.11.2022 20:13:54 Lothar
NotSolved
15.11.2022 00:15:16 xlKing
NotSolved
16.11.2022 09:19:49 Lothar
NotSolved
17.11.2022 01:56:38 xlKing
NotSolved
17.11.2022 02:19:06 xlKing
NotSolved
17.11.2022 09:46:58 Lothar
NotSolved
Rot Suchen und Ersetzen zwischen Tags
17.11.2022 09:52:04 Gast78825
NotSolved
17.11.2022 13:56:09 xlKing
NotSolved
17.11.2022 14:04:15 xlKing
NotSolved
17.11.2022 16:03:23 Gast28655
NotSolved
17.11.2022 17:49:52 Gast23666
NotSolved