Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1524to1528
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
Inhaltsverzeichnis

Suchen und Ersetzen ein Bereich mehrere Begriffe

Suchen und Ersetzen ein Bereich mehrere Begriffe
14.11.2016 08:51:40
Torsten
Hallo,
Ich habe in meiner Excel Tabelle einen Bereich z.b. W3 bis AC34,
in jedem dieser Zellen steht entweder yes oder no.
Num möchte ich in meinem VBA Code wenn jemand versehentlich dort ein "j", "ja" oder nur ein "y" einträgt dies automatisch in ein "yes" ändern.
Das gleiche bei "n" oder nein", dort soll es in ein "no" geändert werden.
Ich bin mir auch nicht sicher inwieweit die unterschiedlichen Schreibweisen von "nein" (NeIN, neIn, NEin) ein Rolle spielen können.
Es gibt in dieser Tabelle auch noch Bereiche in denen ich es genau andersherum ändern muß, deshalb kam ich ja auf die Idee das zu prüfen
Hat da jemand eine Ide für mich?
Ich habe zwar Grundkenntnisse in VBA allerdings hier scheitere ich, habe keine vernüftige Lösung bislang gefunden.
Vielen Dank im vorraus.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen und Ersetzen ein Bereich mehrere Begriffe
14.11.2016 09:05:55
ransi
Hallo,
Schau mal ob du dies brauchen kannst:
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim zelle As Range
    Dim bolappEvnts
    On Error GoTo errorhandler
    bolappEvnts = Application.EnableEvents
    Application.EnableEvents = False
    For Each zelle In Intersect(Target, Range("W3:AC34"))
        Select Case LCase(zelle.Value)
            Case "j", "ja", "y"
                zelle.Value = "yes"
            Case "n", "nein"
                zelle.Value = "no"
        End Select
    Next
    errorhandler:
    Application.EnableEvents = bolappEvnts
End Sub


ransi
Anzeige
AW: Suchen und Ersetzen ein Bereich mehrere Begriffe
14.11.2016 09:07:42
Werner
Hallo Torsten,
warum verhinderst du nicht einfach Fehleingaben? Dann sparst du dir die nachträgliche Überprüfung ob richtige Eingaben gemacht wurden, bzw. die Änderung der Fehleingaben.
Ich würde da eine Gültigkeitsprüfung auf den entsprechenden Bereich legen.
Bereich markieren - Daten - Datenüberprüfung - Zulassen: Liste - Quelle: yes;no
Dann kannst du noch eine Eingabemeldung anlegen: Wird angezeigt wenn eine Zelle des Bereiches ausgewählt wird
Und eine entsprechende Fehlermeldung bei Flascheintrag kannst du auch noch anlegen.
Gruß Werner
AW: Suchen und Ersetzen ein Bereich mehrere Begriffe
14.11.2016 11:25:14
Torsten
Hallo ransi,
erst einmal vielen Dank für den Denkanstoß.
Ich brauche das jedoch nicht als Change Ereignis sonder in meinem bestehenden VBA Code (Modul) soll die Prüfung passieren.
Jetzt versuche ich diesen Teil:
For Each zelle In Intersect(Target, Range("W3:AC34"))
Select Case LCase(zelle.Value)
so umzubauen das er auch alle Zeilen durchsucht, bislang ohne Erfolg :-))
Den Bereich habe ich vorher definiert:
Dim rngzellenJN, rngBereichJN As Range
Dim bolappEvnts
Dim lonZeileJN As Long
lonZeileJN = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Set rngBereichJN = Range("W3:AC" & lonZeileJN)
On Error GoTo errorhandler
bolappEvnts = Application.EnableEvents
Application.EnableEvents = False
For Each rngzellenJN In rngBereichJN(Range(rngBereichJN))
Select Case LCase(rngzellenJN.Value)
Case "j", "ja", "y"
rngzellenJN.Value = "yes"
Case "n", "nein"
rngzellenJN.Value = "no"
End Select
Next
errorhandler:
Application.EnableEvents = bolappEvnts
Anzeige
AW: Suchen und Ersetzen ein Bereich mehrere Begriffe
14.11.2016 11:34:54
Torsten
Ich glaube das ich es gefunden habe, Danke:
Dim rngzellenJN, rngBereichJN As Range
Dim bolappEvnts
Dim lonZeileJN As Long
lonZeileJN = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Set rngBereichJN = Range("W3:AC" & lonZeileJN)
On Error GoTo errorhandler
bolappEvnts = Application.EnableEvents
Application.EnableEvents = False
For Each rngzellenJN In rngBereichJN
Select Case LCase(rngzellenJN.Value)
Case "j", "ja", "y"
rngzellenJN.Value = "yes"
Case "n", "nein"
rngzellenJN.Value = "no"
End Select
Next
errorhandler:
Application.EnableEvents = bolappEvnts
Anzeige

23 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige