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

SelectionChange einschränken

SelectionChange einschränken
18.11.2013 16:44:55
Simon
Hallo,
ich habe eine Schleife geschrieben, die bei jedem Change durchgeführt werden soll, möchte diese allerdings nur auf einen bestimmten Bereich ("B4:B100") anwenden. Bis jetzt habe ich das mit einer ActiveCell.Column-Bedingung hinbekommen.
Mein Problem: Die Schleife wird jetzt nur dann ausgeführt, wenn ich beispielsweise in B6 einen Wert eingebe und danach eine Zelle in Spalte B anklicke.
Ist es möglich, die Schleife durchführen zu lassen, egal wo man danach hinklickt? Aber eben nur wenn sich in besagtem Bereich etwas ändert. Es stört mich ein wenig, wenn es kurz ruckelt bei jedem mal klicken.
Hier noch der Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Column = 2 Then
Application.EnableEvents = False
Listenlaenge = Cells(Rows.Count, 2).End(xlUp).Row
For i = 4 To Listenlaenge
If Len(Cells(i, 2).Value) > 0 And Cells(i, 4).Value = "" Then
Cells(i, 4).Value = Date
End If
If Cells(i, 2) = "" Then
Cells(i, 2).EntireRow.ClearContents
End If
Call Zeitumrechnung
Next i
Application.EnableEvents = True
End If
End Sub

Habe Suchfunktion/Google/Bücher benutzt, bin aber nicht wirklich fündig geworden.
Wäre super, wenn mir der ein oder andere einen Tipp geben könnte ;)
Danke!

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SelectionChange einschränken
18.11.2013 17:30:37
ChrisL
Hi Simon
Change anstelle von SelectionChange wäre m.E. schon der richtige Ansatz gewesen. Anstelle von ActiveCell verwende Target.
If Target.Column = 2 Then
oder
If Not Intersect(Target, Range("B4:B100")) Is Nothing Then
cu
Chris

Change benutzen ...
18.11.2013 17:32:19
Matthias
Hallo
Zitat:
Die Schleife wird jetzt nur dann ausgeführt, wenn ich beispielsweise in B6 einen Wert eingebe und danach eine Zelle in Spalte B anklicke.

Dann weißt Du nicht was Du tust

Der Code wird ausgeführt, wenn Du in eine Zelle in Spalte(B) klickst.
Dazu benötigst Du nichteimal eine Änderung des Zellinhaltes.
Um einen Code nach dem Ändern anzustoßen musst Du das
Worksheet_Change - Ereignis benutzen.
Mir erschließt sich aber nicht der Sinn des Ganzen.
Gruß Matthia
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige