Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1820to1824
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

Excel Großbuchstaben

Excel Großbuchstaben
01.04.2021 09:02:43
Stefan
Hallo,
ich kenne mich leider überhaupt nicht mit Excel VBA aus.
Ich habe folgenden Code auf der Seite gefunden um Eingaben immer in Großbuchstaben zu wandeln.
Funktioniert einwandfrei....
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrExit
If Not Intersect(Range("C4:AG14"), Target) Is Nothing Then
If Target.Count = 1 Then
Application.EnableEvents = False
Target = UCase(Target)
End If
End If
ErrExit:
Application.EnableEvents = True
End Sub
Nun zu meiner Frage.
Wenn ich neue Zeile einfüge soll die Range auch dementsprechend ansteigen.
Gleiches wenn ich wieder Zeilen entferne, dann sollte die Range auch wieder verringert werden.
Wie kann ich dies realisieren?
Vielen Dank im Voraus
Gruß
Stefan

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

Betreff
Datum
Anwender
Anzeige
AW: Excel Großbuchstaben
01.04.2021 09:17:45
ralf_b
Intersect vergleicht Bereiche mit einander und liefert eine Schnittmenge.
Damit Bereichsveränderungen erkannt werden, kann man z.b. Einen Namen für den Bereich vergeben. Und diesen Statt Range("C4:AG14") verwenden.
zb. name für Range("C4:AG14") ist "Bereich" dann ... Intersect(Range("Bereich"), Target) ....

AW: Excel Großbuchstaben
01.04.2021 10:24:27
MRUTOR
Hallo Stefan,
du kannst das auch loesen, indem du Excel feststellen laesst, welches die letzte benutzte Zeile ist, um deine Range einzugrenzen.
In meinem Beispiel wird dies in Spalte C (3) geprueft und in einer Variablen "lngLast" gespeichert, die ich vorher dimensioniert habe. Dementsrechend habe ich die Intersect Zeile angepasst.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngLast As Long
On Error GoTo ErrExit
lngLast = Cells(Rows.Count, 3).End(xlUp).Row
If Not Intersect(Range("C4:AG" & lngLast), Target) Is Nothing Then
If Target.Count = 1 Then
Application.EnableEvents = False
Target = UCase(Target)
End If
End If
ErrExit:
Application.EnableEvents = True
End Sub

Gruss Tor

Anzeige
AW: Excel Großbuchstaben
01.04.2021 10:56:36
Stefan
VIelen vielen Dank, funktioniert genau wie gewünscht. :) :) :)

gerne...
01.04.2021 11:05:47
MRUTOR

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige