thomas1972
Goto Top

Prüfen ob string im Tabellenblatt vorhanden

Hallo,

ich lasse mit einem Script Teile eines Tabellenblattes suchen/ersetzen)

'Suchen ersetzen  
     suchArray = Array("Description: ", "Location: ", "Printer State: ", "URI: ", "Dtro: ", "ä", "ü", "ö")  
     ersetzArray = Array("", "", "", "", "", "ä", "ü", "ö")  


     For k = LBound(suchArray) To UBound(suchArray)
            Call ActiveSheet.UsedRange.Replace(suchArray(k), ersetzArray(k), , , True)
     Next k

Nur kommt es vor, dass gewisse Zeichen nicht vorhanden sind, Excel gibt immer dann einen Warnhinweis aus.

Wie kann ich es unterbinden?

on Error Resume Next hat hier nicht geholfen

Wie kann ich im Vorfeld den String des suchArray Prüfen lassen ob im Tabellenblatt vorhanden, falls ja dann führe weiter fort ?

Danke für Eure Hilfe

Content-Key: 258560

Url: https://administrator.de/contentid/258560

Printed on: April 19, 2024 at 18:04 o'clock

Member: colinardo
Solution colinardo Dec 27, 2014, updated at Dec 28, 2014 at 07:54:42 (UTC)
Goto Top
Sub SearchAndReplace()
    Set dic = CreateObject("Scripting.Dictionary")  
    With dic
        .Add "Description: ", ""  
        .Add "Location: ", ""  
        .Add "Printer State: ", ""  
        .Add "URI: ", ""  
        .Add "Dtro: ", ""  
        .Add "ä", "ä"  
        .Add "ü", "ü"  
        .Add "ö", "ö"  
    End With
    keys = dic.keys
    For i = 0 To dic.Count - 1
        ActiveSheet.UsedRange.Replace keys(i), dic(keys(i)), xlPart, ,True
    Next
    set dic = Nothing
End Sub
Grüße Uwe

p.s. ich seh schon, dir jetzt Verbesserungsvorschläge für dein Gesamtvorhaben zu machen wird mal wieder nix bringen face-wink, da renne ich bei dir ja auf eine Mauer.
Member: colinardo
colinardo Dec 27, 2014 updated at 16:46:23 (UTC)
Goto Top
p.s. eventuell auftauchende Warnhinweise und aufpoppende Dialogboxen kannst du in Excel, wenn du mit Makros arbeitest generell hiermit unterbinden:
'Warnhinweise und Dialoge unterdrücken  
Application.DisplayAlerts = False

'.... Hier dein Code  

' am Ende des Codes immer wieder zurückstellen  
Application.DisplayAlerts = True
Member: thomas1972
thomas1972 Dec 28, 2014 at 07:54:32 (UTC)
Goto Top
Danke Uwe,

bist spitze,
damit funktioniert es nun, danke..