Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Automatische Änderung eines Textes nach Eingabe | Herbers Excel-Forum


Betrifft: Automatische Änderung eines Textes nach Eingabe von: lutz
Geschrieben am: 15.01.2012 21:51:36

Hallo Excel-Freunde,

ich würde gerne Eingaben direkt danach durch etwas anderes ersetzen - ähnlich wie eine Autokorrektur.

Die variablen Schreibe ich in Tabelle "var" Zelle D2-..., den Variablennamen in Zelle A2-...

Nach der Eingabe von z.B. "xxxc B6" soll dann daraus etwas anderes werden, nähmlich für xxxc (=Variable) der Variablentext (z.B. ='D:\[Datei B.xlsx]2011'!) und das b6 soll bleiben.

Ich habe etwas ähnliches gefunden - weiß aber nicht wie ich es abändern muß:

Private Sub Worksheet_Change(ByVal Target As Range)
Const b = "F11:H20,J11:L20"
Dim z As Range, ber As Range
Dim neu As Variant
Set ber = Intersect(Target, Range(b))
If Not ber Is Nothing Then
    For Each z In ber
    Select Case z.Value
        Case 1: neu = 7
        Case 2: neu = 7.5
        Case 3: neu = 8
        Case 4: neu = 8.5
        Case 5: neu = 9
        Case 6: neu = 9.5
        Case 7: neu = 10
        Case Else: neu = -1
    End Select
    If neu > 0 Then
        On Error Resume Next
        Application.EnableEvents = False
        z.Value = neu
        If Err.Number > 0 Then MsgBox Err.Description, vbCritical, "Fehler Nr." & Err.Number
        On Error GoTo 0
        Application.EnableEvents = True
    End If
    Next z
End If
End Sub
Weiß jemand Rat?

Vielen Dank und viele Grüße Lutz

  

Betrifft: AW: Automatische Änderung eines Textes nach Eingabe von: Josef Ehrensberger
Geschrieben am: 15.01.2012 22:08:40


Hallo Lutz,

das ist kein Problem.


https://www.herber.de/bbs/user/78458.xls




« Gruß Sepp »



  

Betrifft: AW: Automatische Änderung eines Textes nach Eingabe von: lutz
Geschrieben am: 15.01.2012 22:36:37

Hallo Sepp,

Wahnsinn - geht wie verrückt.

Hier mal der Code damit andere das auch finden können:


Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim vntRet As Variant
Dim lngCalc As Long

On Error GoTo ErrExit

With Application
.ScreenUpdating = False
.EnableEvents = False
lngCalc = .Calculation
.Calculation = xlCalculationManual
.DisplayAlerts = False
End With

For Each rng In Target
If InStr(1, rng.Text, " ") > 0 Then
vntRet = Application.Match(Split(rng, " ")(0), Sheets("VAR").Columns(1), 0)
If IsNumeric(vntRet) Then
rng.Formula = Sheets("VAR").Cells(vntRet, 2) & Split(rng, " ")(1)
End If
End If
Next

ErrExit:

With Err
If .Number <> 0 Then
MsgBox "Fehler in Prozedur:" & vbTab & "'Worksheet_Change'" & vbLf & String(60, "_") & _
vbLf & vbLf & IIf(Erl, "Fehler in Zeile:" & vbTab & Erl & vbLf & vbLf, "") & _
"Fehlernummer:" & vbTab & .Number & vbLf & vbLf & "Beschreibung:" & vbTab & _
.Description & vbLf, vbExclamation + vbMsgBoxSetForeground, _
"VBA - Fehler in Modul - Tabelle1"
.Clear
End If
End With

On Error GoTo 0

With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = lngCalc
.DisplayAlerts = True
End With
End Sub


Ist echt beeindruckend und auch rasend schnell!

Vielen lieben Dank und noch einen schönen Abend

Viele Grüße Lutz




Beiträge aus den Excel-Beispielen zum Thema "Automatische Änderung eines Textes nach Eingabe"