Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
284to288
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
284to288
284to288
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ersetzen-Funktion

Ersetzen-Funktion
22.07.2003 17:07:17
Hans
Moin,

ich hab ein größeres Problem mit der "Ersetzen"-Funktion bei Excel:
Ich muß in einer Tabelle einen Wert ersetzen. Dieser darf aber nur in einer bestimmten Spalte ersetzt werden, keinesfalls im gesamten Arbeitsblatt!
Wenn ich die "Ersetzen"-Funktion benutze, durchsucht Excel alle Zellen, obwohl nur die eine betreffende Spalte markiert ist...
Wie kann ich Excel dazu bringen, sich bei der Suche nur auf den markierten Bereich zu beschränken?

P.S.: Die Tabelle hat ca. 2000 Zeilen à 20 Spalten, deshalb wäre es etwas langwierig, das manuell zu machen bzw. anschließend zu kontrollieren.

Wäre klasse, wenn Euch eine Lösung einfallen würde.

Danke im Voraus.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ersetzen-Funktion
22.07.2003 17:36:34
GraFri
Hallo

Anbei Beispielmakro. Den Bereich mit den Sternchen anpassen

Sub SuichenErsetzen()
Dim db As Range
Dim Sht As Worksheet
Dim strTitle As String
Dim strSearch As String
Dim strMsgSearchEmpty As String
Dim strMsgConfirm As String
Dim strMsgEqual As String
Dim strReplace As String
Dim Suche, Ersetze, varResponce

' Titel und Text für Msg-Boxen
strTitle = "Suchen und Ersetzen... GLOBAL"
strSearch = "Suche nach ?"
strMsgSearchEmpty = "Kein Kriterium zum Suchen eingegeben!"
strMsgEqual = "Die Werte fuer Suchen und Ersetzen sind identisch!"
strMsgConfirm = vbNullString
strReplace = vbNullString

'Such-String
Suche = Application.InputBox(strSearch, strTitle, Type:=11)

If Suche = False Then Exit Sub 'Abbrechen gewählt

If Len(Suche) > 0 Then
strReplace = "Ersetze " & vbTab & Suche & vbCrLf & "mit:"
Ersetze = Application.InputBox(strReplace, strTitle, Type:=11)

If Ersetze = False Then Exit Sub 'Abbrechen gewählt
Else
MsgBox strMsgSearchEmpty, vbExclamation, strTitle
Exit Sub
End If

If Suche <> Ersetze Then
strMsgConfirm = "ACHTUNG, UNDO NICHT moeglich!" & vbCrLf & vbCrLf & _
"Bitte bestaetigen Sie: " & vbCrLf & "Suchen nach:" & vbTab & Suche & _
vbCrLf & "Ersetzen mit:" & vbTab & Ersetze

varResponce = MsgBox(strMsgConfirm, vbYesNo + vbQuestion + vbDefaultButton2, strTitle)

If varResponce = vbYes Then

'**********************************************
' Der zu durchsuchende Bereich wird festgelegt, um die Geschwindigkeit zu erhöhen
' Name des Tabellenblattes anpassen
Set db = Worksheets("Tabelle1").Range("A1:T200")
'**********************************************

For Each Zelle In db
With Zelle
If .Value <> vbNullString And InStr(.Value, Suche) <> 0 Then
.Replace What:=Suche, Replacement:=Ersetze, _
LookAt:=xlPart, MatchCase:=False
End If
End With
Next Zelle
Else
MsgBox strMsgEqual, vbExclamation, strTitle
End If
End If

End Sub



mfg, GraFri


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige