Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Hilfe beim VBA-Code

Forumthread: Hilfe beim VBA-Code

Hilfe beim VBA-Code
08.10.2025 20:39:44
KDF
Hallo und guten Tag.
Ich habe vor vielen Jahren einmal ein kleines Programm zurechtgefummelt.
Jetzt möchte ich den in einem anderen Programm mal wieder nutzen.
Hier der VBA-Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column > 4 Or Target.Row = 1 Then Exit Sub
If Target.Column > 4 Or Target.Row = 2 Then Exit Sub
If Target.Column > 4 Or Target.Row = 3 Then Exit Sub
If Target.Column > 4 Or Target.Row = 4 Then Exit Sub
If Target.Column > 4 Or Target.Row = 5 Then Exit Sub
If Target.Column > 4 Or Target.Row = 6 Then Exit Sub
If Target.Column > 4 Or Target.Row = 7 Then Exit Sub
If Target.Column > 4 Or Target.Row = 8 Then Exit Sub
If Target.Column > 4 Or Target.Row = 9 Then Exit Sub
Select Case Target.Value
Case ""
Target.Value = "X"
Case Else
Target.Value = ""
End Select
End Sub

Jetzt fällt mir auf, dieser Code muss doch auch effektiver zu bauen sein?
So wie er jetzt ist, kann man ja ab Zeile 10 alle Zellen in Spalte D nutzen. Es werden die Zeilen 1-9 ausgeschlossen.
Ich möchte nur die Zeilen D10-D20 nutzen.
Wer kann helfen?
Bis dann,
Klaus D.
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe beim VBA-Code
08.10.2025 21:02:34
daniel
Naja, irgendwie scheinen manche das Denken auszuschalten, wenn sie programmieren.
Wenn man bei der gezeigten Methodik bleibt, dann drängt sich dich folgende Vereinfachung förmlich auf:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column > 4 then Exit Sub
If Target.Row 10 then Exit Sub
If Target.Row > 20 then Exit Sub
Select case Target.Value
...



Mit etwas mehr VBA-Wissen vielleicht so
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

With Range("D10:D20")
If not Intersect(Target, .Cells) is Nothing then
Intersect(Target, .Cells) = IIf(Target(1).Value = "", "x", "")
End With
End Sub


Gruß Daniel
Anzeige
AW: Hilfe beim VBA-Code
08.10.2025 21:12:30
BoskoBiati
Hi,

eine von vielen Möglichkeiten:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 4 And Target.Row > 9 And Target.Row 21 Then
If Target = "" Then
Target = "x"
Else
Target = ""
End If
End If
End Sub


Gruß

Edgar
Anzeige
AW: Hilfe beim VBA-Code
08.10.2025 21:24:59
KDF
Ich bedanke mich für die schnelle Hilfe.
Schon bin ich wieder einen Schritt weiter.
Bis dann,
Klaus D.

Forumthreads zu verwandten Themen