Anzeige
Archiv - Navigation
1924to1928
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

Makro geht nach Zellbezug Änderung nicht

Makro geht nach Zellbezug Änderung nicht
16.03.2023 06:48:09
Hans

Hallo Forum,
dank Hilfe aus diesem Forum wurde mir schon oft sehr geholfen.

Ich habe folgendes Makro, damit in einer Zelle (Autokennzeichen) die Kleinbuchstaben automatisch in Großbuchstaben umgewandelt werden.
Funktionierte auch ganz gut. Nun musste ich die Tabelle überarbeiten und das Kennzeichen ist in einer anderen Zelle gelandet (D15)
Dadurch funktioniert die automatische Umwandlung leider nicht mehr. Ich habe schon geschaut, ob ich das selbst lösen kann, komme aber nicht wirklich weiter!

Eventuell haben wir hier im Forum jemanden, der mir die Lösung mitteilt.

Vielen Dank für eure Hilfe !

Hans

Private Sub Worksheet_Change(ByVal T As Range)
If T.Column = 8 And T.Row = 6 Then T = UCase(T)
End Sub

PS: Ist es Möglich, dass statt des ERSTEN Leerzeichen ein Bindestrich eingefügt wird, so dass die Kennzeichen dann so aussehen ??

H-MP 1222 / HH-MH 123 / GVM-P 554

Danke !

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro geht nach Zellbezug Änderung nicht
16.03.2023 06:53:24
Yal
Hallo Hans,

column bedeutet Spalte und row bedeutet Zeile.
D15 ist Zeile 15, Spalte 4.

VG
Yal


AW: Makro geht nach Zellbezug Änderung nicht
16.03.2023 07:05:42
Hans
Funktionierte 1x dann wollte ich die Eingabe Löschen und bekomme eine Fehlermeldung:
Das in FETT geschriebene wird mir angezeigt:

Private Sub Worksheet_Change(ByVal T As Range)
If T.Column = 4 And T.Row = 15 Then T = UCase(T)
End Sub
Danke
Hans


AW: Makro geht nach Zellbezug Änderung nicht
16.03.2023 07:08:44
Hans
Die Meldung lautet:

Laufzeitfehler 13
Typen unverträglich

Nun muss ich mal 15 Minuten mit dem Hund raus !

Danke euch .....

Hans


Anzeige
AW: Makro geht nach Zellbezug Änderung nicht
16.03.2023 07:27:04
hary
Moin
Versuch mal
Private Sub Worksheet_Change(ByVal T As Range)
If T.Column = 4 And T.Row = 15 Then
  Application.EnableEvents = False
    T = WorksheetFunction.Substitute(UCase(T), " ", "-", 1)
  Application.EnableEvents = True
End If
End Sub
gruss hary


Ging 1x und dann ohne Fehlermeldung nicht mehr
16.03.2023 07:49:51
Hans
Moin,
dein Makro ging 1x und dann leider nicht mehr...

Mittlerweile habe ich rausbekommen, dass wenn ich den Zelleninhalt D15 über ein Makro lösche, gibt es keine Fehlermeldung mehr !

Kann es sein, dass das Makro nur einmal in einer Tabelle aufgeführt werden darf ?

Ich habe zwei Arbeitsblätter jeweils in D15 soll das Makro ausgeführt werden. Natürlich haben die Arbeitsblätter unterschiedliche Namen !

Ich komme einfach nicht weiter...

Danke für deine Hilfe

Hans


Anzeige
AW: Ging 1x und dann ohne Fehlermeldung nicht mehr
16.03.2023 08:10:32
Yal
Hallo Hans,

das Ereignis Worksheet_Change ist im Code-Panel vom Blatt und gilt nur für dieses Blatt.
Wenn Du es für 2 Blätter brauchst, musst Du es in den Code-pane vom anderen Blatt kopieren. Es gibt auch die Möglichkeit, diese auf Workbook-Ebene zu deklarieren und dann zu prüfen, aus welcherm Blatt diese gerufen wird (zuerst für dich unnötig kompliziert, lieber kopieren).

Der Code von Hary sollte dein Problem beseitigen: wenn das Makro den Inhalt einer Zelle ändert, dann wird das Makro Worksheet_Change gerufen, das dann den Inhalt ändert, was das Change-Makro aufruft, und so unendlich, bis Excel das Makro "stummschaltet". Mit dem Blockieren EnableEvents=false, wird keine Change-Behandlung erlaubt. Am Schluss wird es wieder eingeschaltet.

VG
Yal

VG
Yal


Anzeige
AW: Makro geht nach Zellbezug Änderung nicht
16.03.2023 08:19:26
Mathias
Hallo Yal,
wenn du die Zelle leerst dann hat das Makro das Problem, dass es keine Buchstaben zum vergrößern hat und einen Fehler ausgibt.
Prüfe in deinem IF Statement ob die Zelle leer ist. Damit du den Code nur ausführst, wenn etwas in der Zelle steht.
Also ändere dein Zeile mit dem so:
If T.Column = 4 And T.Row = 15 And T > "" Then
Liebe Grüße
Mathias


AW: Makro geht nach Zellbezug Änderung nicht
16.03.2023 10:09:58
GerdL
Hallo Hans,

probier mal.
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) = "D15" Then
        Application.EnableEvents = False
        Target.Value = UCase$(Target.Value)
        Target = WorksheetFunction.Substitute(Trim$(Target), " ", "-", 1)
        Application.EnableEvents = True
    End If
End Sub
Gruß Gerd


Anzeige
@Gerd - und alle anderen Helfer ! - m. T.
16.03.2023 13:20:51
Hans
Problem gelöst !
Vielen Dank an alle Helfer und besonders an Gerd. Dein Makro brachte die Lösung !

Langsam beginne ich die Makrofunktionen zu begreifen aber von euren Fähigkeiten bin ich noch Lichtjahre entfernt.

Es erstaunt mich jedes Mal, was mit Excel und Co. so alles möglich ist.

Vielen Dank nochmal !

Hans

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige