Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Dynamisches Suchen und Ersetzen mit VBA

Dynamisches Suchen und Ersetzen mit VBA
28.04.2007 11:10:00
Till
Hallo Leute,
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: Autoscope’s 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: Autoscope’s 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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamisches Suchen und Ersetzen mit VBA
28.04.2007 11:11:44
Till
upss.. sch... Rechner... sorry... ;-)

AW: Dynamisches Suchen und Ersetzen mit VBA
29.04.2007 11:14:00
Gerd
Hallo Till,
"Cells" ohne Zeilen-u.Spaltenindizes sind alle Zellen des aktiven Sheets.
Da benötigst Du einen großen Arbeitsspeicher u. Zeit.

Sub alternativ()
Dim i As Long
With ActiveWorkbook.Sheets(1)
For i = 1 To .Cells(Rows.Count, 4).End(xlUp).Row    'Spalte D, Zeile 1 bis letzte gefüllte  _
Zelle in D
Select Case Val(.Cells(i, 4).Value)
Case 1 To 100
.Cells(i, 4).Value = CStr(Val(.Cells(i, 4).Value)) & ": " & CStr(Val(.Cells(i, 4).Value)) & _
"%  Zeitintervalldaten übertragen."
Case 201
.Cells(i, 4).Value = "201: Z.Zt kein Video- bzw. Datenmaterial; Sensor reagiert nicht;  _
Versorgungs-/Kommunikationsproblem; Rebootversuch im n. Intervall!"
Case 202
End Select
Next
End With
End Sub


Gruß Gerd

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige