Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1592to1596
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

Worksheet_Change ändern

Worksheet_Change ändern
02.12.2017 12:47:44
Sigrid
Guten Morgen Fachfrauen oder Männer,
ich habe dieses Makro gefunden, für entsprechend erweitert und
es funktioniert.
Änderung:
Ich möchte gern "wir" in O2 Schreiben und in P2 "Wir lieferten"
reinschreiben, so das man die Änderungen oder Ergänzungen auf dem
Tabellenblatt vornehmen kann.
Geht das bzw. Wie ?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vntNewValue As Variant
On Error GoTo ERR_Handler
If Intersect(Target, lrgRange) Is Nothing Then Exit Sub
Application.EnableEvents = False
With Target
If .Count = 1 Then
Select Case .Value
Case "wir": vntNewValue = "Wir lieferten"
Case "ab": vntNewValue = "Wir holen die Ware am"
Case Else: vntNewValue = .Value
End Select
Application.EnableEvents = False
.Value = vntNewValue
End If
End With
ERR_Handler:
Application.EnableEvents = True
End Sub
mfg
sigrid

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheet_Change ändern
02.12.2017 12:54:43
Hajo_Zi
Hallo Sigrid,
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vntNewValue As Variant
If Target.Address("$O$2") And Target = "wir" Then
Range("P2") = "wir liefern"
End If
On Error GoTo ERR_Handler
If Intersect(Target, lrgRange) Is Nothing Then Exit Sub
Application.EnableEvents = False
With Target
If .Count = 1 Then
Select Case .Value
Case "wir": vntNewValue = "Wir lieferten"
Case "ab": vntNewValue = "Wir holen die Ware am"
Case Else: vntNewValue = .Value
End Select
Application.EnableEvents = False
.Value = vntNewValue
End If
End With
ERR_Handler:
Application.EnableEvents = True
End Sub


Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung. o.w.T."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben,
mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Beiträge von Werner, Luc, robert und folgende lese ich nicht.
Anzeige
Sehr schnell Hajo !
02.12.2017 13:15:06
Sigrid
Hallo Hajo,
danke für die schnelle Antwort.
Ich habe mich FALSCH geäußert.
Ich möchte gern NUR im Tabellenblatt die O2 "wir" eintragen und in
P2 den dazugehörigen Text also in diesem Beispiel "wir liefern".
Es kann das aktuelle Blatt bzw. Sheet sein, könnte aber eine andere Sheet sein
wo ich die Daten ändern oder hinzufügen kann.
mfg
Sigrid
AW: Sehr schnell Hajo !
02.12.2017 13:20:33
Hajo_Zi
Hallo Sigrid,
Ich habe mich an Deinen Vorschlag gehalten.
ändere erste Zeile in
Private Sub Worksheet_Change(ByVal Target As Range)
und verschiebe es zu der Tabelle.
alles nach meinem End If kann entfallen.
Gruß Hajo
Anzeige
Leider bekomme ich es nicht hin
02.12.2017 13:34:23
Sigrid
Hallo Hajo,
habe mal geändert, allerdings Fehlermeldung.
Dim vntNewValue As Variant
Dim lrgRange As Range
On Error GoTo ERR_Handler
Set lrgRange = Range("C26:C50")
Target.address ("$O$2") And Target.address("P2")
If Intersect(Target, lrgRange) Is Nothing Then Exit Sub
Application.EnableEvents = False
ERR_Handler:
Application.EnableEvents = True
End Sub
gruß
Sigrid
AW: Leider bekomme ich es nicht hin
02.12.2017 13:46:59
Hajo_Zi
Du möchtest also meinen Code nicht benutzen. Zu Deine musst Du den Fragen von dem Du den hast.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vntNewValue As Variant
If Target.Address("$O$2") And Target = "wir" Then
Range("P2") = "wir lifern"
End If
End Sub

Ich bin dann raus, da mein Vorschlag nicht mehr aktuell.
Gruß Hajo
Anzeige
Wieso ?
02.12.2017 14:05:31
Sigrid
Hallo Hajo,
wieso raus, versteh ich nicht !
Möchte doch nur eine Lösung, wenn die Textbausteine in der Tabelle stehen,
soll das Worksheet_Change darauf zugreifen.
von P2-P15 stehen die Schlüsselwörter wie z.B. "wir" und
in O2-O15 steht jeweils der dazugehörige Text z.B. hier "Wir liefern"
Vielleicht doch noch eine Hilfe ...
mfg
Sigrid
AW: Worksheet_Change ändern
02.12.2017 15:33:38
Sepp
Hallo Sigrid,
warum verwendest du nicht die Autokorrektur?
Mit VBA geht das z.B. so.
https://www.herber.de/bbs/user/118063.xlsm
Gruß Sepp

Anzeige
Sepp das ist eine gute Idee...
02.12.2017 15:59:04
Sigrid
Hallo Sepp,
das ist eine Super Idee.
Wie kann ich den Bereich den Bereich einschränken ?
Set lrgRange = Range("C26:C50, C92:C115, C156:C179, C220:C243, C283:c306, C347:C370")
Würde mich freuen zu lesen...
mfg
Sigrid
AW: Sepp das ist eine gute Idee...
02.12.2017 17:05:37
Sepp
Hallo Sigrid,
so!
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim varRet As Variant

On Error GoTo Errorhandler

If Sh.Name <> "Autokorrekt" Then
  If Target.Count = 1 Then
    If Not Intersect(Target, Range("C26:C50, C92:C115, C156:C179, C220:C243, C283:C306, C347:C370")) Is Nothing Then
      varRet = Application.Match(Target, Sheets("Autokorrekt").Columns(1), 0)
      If IsNumeric(varRet) Then
        Application.EnableEvents = False
        Target = Sheets("Autokorrekt").Cells(varRet, 2)
      End If
    End If
  End If
End If

Errorhandler:
Application.EnableEvents = True
End Sub

Gruß Sepp

Anzeige
Danke Sepp bestens !!! -)
02.12.2017 18:29:06
Sigrid

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige