Dynamisches Suchen und Ersetzen mit VBA
28.04.2007 11:10:00
Till
habe folgendes bereits zusammen:
'Übersetzen der Meldungen
With ActiveWorkbook.Sheets(1).Columns("D:D").Select
End With
'Sheets("Wertetabelle").Select
Cells.Replace What:="100", Replacement:="100: 100% Zeitintervalldaten übertragen.", LookAt:= _
xlWhole
Cells.Replace What:="201 (ISSCLAPI_POLL_STATUS_AUTOSCOPE_IS_NOT_RESPONDING)", Replacement:=" _
201: Z.Zt kein Video- bzw. Datenmaterial; Sensor reagiert nicht; Versorgungs-/Kommunikationsproblem; Rebootversuch im n. Intervall!", LookAt:=xlWhole
Cells.Replace What:="202 (ISSCLAPI_POLL_STATUS_AUTOSCOPE_IS_NOT_IN_DETECT_MODE)", _
Replacement:="202: Der Autoscope Sensor befindet sich zur Zeit nicht im Detektionsmodus; dieser Modus wird im nächsten Intervall reaktiviert.", LookAt:=xlWhole
Cells.Replace What:="203 (ISSCLAPI_POLL_STATUS_AUTOSCOPE_IS_ REFUSING_CREATE_POLL_LIST)", _
Replacement:="203: Erzeugen der Pollinginstanz gescheitert; keine pollingfähige Detektoren vorhanden!", LookAt:=xlWhole
Cells.Replace What:="204 (ISSCLAPI_POLL_STATUS_AUTOSCOPE_IS_REFUSING_ADD_POLL)", _
Replacement:="204: Es kann keine weitere Pollinginstanz erstellt werden, da bereits aktive Pollingclients laufen.", LookAt:=xlWhole
Cells.Replace What:="205 (ISSCLAPI_POLL_STATUS_AUTOSCOPE_ DETECTOR_CONFIG_DISABLED)", _
Replacement:="205: Autoscopes Detektorkonfiguration deaktiviert; deshalb kein Datensammler möglich.", LookAt:=xlWhole
Cells.Replace What:="206 (ISSCLAPI_POLL_STATUS_DETECTOR_DOES_ NOT_EXIST_ON_AUTOSCOPE)", _
Replacement:="206: Polling fehlgeschlagen, da angepollter Detektor nicht (mehr) existiert.", LookAt:=xlWhole
Cells.Replace What:="207 (ISSCLAPI_POLL_STATUS_CREATING_POLL_ON_AUTOSCOPE)", Replacement:=" _
207: Der Kommunikationsserver hat das unterbrochene Polling zum Abruf gültiger Daten erneut gestartet.", LookAt:=xlWhole
Cells.Replace What:="208 (ISSCLAPI_POLL_STATUS_AUTOSCOPE_ BUFFER_WRAPPED_DATA_LOST)", _
Replacement:="208: Autoscopes Datenpuffer ist voll und beginnt, alte Daten zu überschreiben.", LookAt:=xlWhole
Cells.Replace What:="209 (ISSCLAPI_POLL_STATUS_COMSERVER_ BUFFER_WRAPPED_DATA_LOST)", _
Replacement:="209: Der Comm.-Server Datenpuffer ist voll und beginnt, alte Daten zu überschreiben.", LookAt:=xlWhole
Cells.Replace What:="210 (ISSCLAPI_POLL_STATUS_POLL_LIST_SUSPENDED)", Replacement:="210: _
Das Polling wurde kurzzeitig unterbrochen.", LookAt:=xlWhole
Cells.Replace What:="211 (ISSCLAPI_POLL_STATUS_POLL_LIST_RESUMED)", Replacement:="211: Das _
Polling wurde wieder aufgenommen.", LookAt:=xlWhole
Cells.Replace What:="212 (ISSCLAPI_POLL_STATUS_COMSERVER_NOT_RESPONDING)", Replacement:=" _
212: Der Kommunikationsserver reagiert nicht. Das Polling rebootet im nächsten Minutenintervall.", LookAt:=xlWhole
Cells.Replace What:="213 (ISSCLAPI_POLL_STATUS_CLIENT_ABORTING_DUE_TO_ERRORS)", Replacement: _
="213: Polling muss wg. Kommunikationsfehlern beendet werden.", LookAt:=xlWhole
Cells.Replace What:="214 (ISSCLAPI_POLL_STATUS_POLL_LIST_NOT_ FOUND)", Replacement:="214: _
Definiertes Polling wurde nicht gefunden u. kann deshalb nicht gestartet werden.", LookAt:=xlWhole
Jetzt kann es aber auch sein, dass anstatt des ersten Eintrags: "100: 100% Zeitintervalldaten übertragen." in der selben Zelle alle anderen Werte zwischen 0 und 100 stehen können.
Die würde ich gerne so ersetzen, dass dann da immer steht: z.B. "97: 97% Zeitintervalldaten übertragen." oder "52: 52% Zeitintervalldaten übertragen."
Kann man diese Zahlen evtl. dynamisch behandeln und die Ersetzung in einem Rutsch in einer Schleife erledigen?
Hat da einer eine hilfreiche Idee?
Danke schon mal!
Gruß Till
Anzeige