Calc: Spalten durchsuchen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Calc: Spalten durchsuchen

Calc: Spalten durchsuchen

von schnubber » Fr, 25.03.2011 15:32

Hallo Forum, ich schon wieder, mit nem neuen problem
Ich habe mit hilfe von einigen leuten hier im forum ein makro erstellt, in dem es darum geht unkorrekt geschriebene daten zu markieren
hier ein beispiel
(ich habe immer kreterien vorgegeben wann die daten falsch sind)

Spalte D2:D20 emails (richtig geschriebene und falsch geschriebene, die falschen sind markiert)

Spalte F2:f20 - telefonnummern (wieder sind die falsch getippten bzw die mit tippfehlenr wie statt 6 ein "&" zeichen markiert)

hier ist der script

Code: Alles auswählen

 Sub ReplaceInCalc
   Dim oDoc As Object
   Dim oSheet As Object
   Dim oSearch As Object, oResult As Object         'Replace Descriptor (ScCellSearchObj)
   Dim oFound As Object, oFoundCursor as Object
   Dim n As Long
   Dim oDataArry As Object
   
   
   REM das sind die kreterien für die telefonprüfung
   oDoc = ThisComponent
   oSheet = oDoc.Sheets.getByIndex(0)
   oCellRange = oSheet.getCellRangeByName("F2:F32000")
   
   
   
   
   For n =1 to 99
       if  oCellRange.getCellByPosition(0,n).string <> "" then oCellRange.getCellByPosition(0,n).CellBackColor = RGB(255,0,0)
   Next n
   oSearch = oCellRange.createSearchDescriptor
   oSearch.SearchString = "^[0-9\/\- ]{1,}$"
   oSearch.SearchRegularExpression = TRUE
   oResult = oSheet.findAll(oSearch)
   For n = 0 To oResult.count - 1
       oFound = oResult(n)
       oFound.CellBackColor = RGB(255,255,255)
     
   Next n
   
REM das sind die kreterien für die mailprüfung
   oDoc = ThisComponent
   oSheet = oDoc.Sheets.getByIndex(0)
   oCellRange = oSheet.getCellRangeByName("D2:D32000")

   
   
   
   for n =1 to 99
       if  oCellRange.getCellByPosition(0,n).string <> "" then oCellRange.getCellByPosition(0,n).CellBackColor = RGB(255,0,0)
   next
   oSearch = oCellRange.createSearchDescriptor
   oSearch.SearchString = "^[a-z0-9_\-]+(\.[a-z0-9_\-]+)*@([0-9a-z][0-9a-z\-]*[0-9a-z]\.)+([a-z]{2,4}|museum)$"
   oSearch.SearchRegularExpression = TRUE
   oResult = oSheet.findAll(oSearch)
   For n = 0 To oResult.count - 1
       oFound = oResult(n)
       oFound.CellBackColor = RGB(255,255,255)
     
   Next n
   

   End Sub
nu kann ich ja bei meinen tabellen nicht immer drauf achten dass die mails immer in der d spalte sind und tel nummer in der f spalte
deswegen ist meine idee so eine art schleife zu machen die prüft: wenn spalte A=emails Dann nutze bitte die befehle für die mails und wenn spalte a= telofonnummern , dann nutze die befehle zum markieren von tel. nummern für telefonnummern dann geht es mit der b spalte , weiter..und so weiter und sofort im zellbereich A1:F200 zb.
leider sind meine programmierkenntnisse SEHR begrenzt und ich wüsste nicht wie ich die idee umsetzen soll , jat jemand ne idee wenn ja schlagt scriptvorschläge vor , würde mich ercht freuen...bin am verzweifeln.


Moderation,4: Tippfehler Betreff korrigiert

Nach oben