Anzeige
Archiv - Navigation
1836to1840
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
Ganze Spalte markieren löst Code aus
25.06.2021 15:08:39
Sven1403
Hallo zusammen,
ich habe folgendes Problem:
In einer Tabelle soll ein Userform geöffnet werden, wenn man in leere Zellen bestimmter Spalten reinklickt (sobald man den ersten Klick reinmacht).
Dies funktioniert auch wunderbar. Jedoch wenn man nun auf z.B. Spalte K draufklickt und damit alle Zellen dieser Spalte markiert, kommt ein Laufzeitfehler 13, Typen unverträglich.
Dies ist der Code:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target  "" Then Exit Sub
If Intersect(Target, Range("K:K, L:L, W:W")) Is Nothing Then Exit Sub
Load UserForm_Nutzerdaten
UserForm_Nutzerdaten.Show
End Sub
Ich hab auch schon probiert das If Target weg zu machen oder was anderes zu probieren wie If Target.Adress = K1 Then Exit Sub. Dann kommt der Laufzeitfehler zwar nicht mehr, aber er öffnet das Userform wenn ich auf K klicke und die ganze Spalte markiere. Analog passiert das auch wenn man Zeilen markiert.
Auch probiert habe ich, im Intersect die Range auf K2:K2313321 zu setzen, weil ja Excel eigentlich nur die erste Zelle anspricht wenn man eine ganze Spalte markiert (also K1 wenn man auf K klickt). Hat auch nichts geholfen.
Nun meine Frage. Gibt es eine Lösung dafür? Also kann man den Code ergänzen, sodass der Code in ein Exit Sub geht, wenn man eine ganze Spalte oder Reihe markiert und somit das UserForm nicht öffnet?
Danke vorab für die Hilfe
Gruß Sven

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ganze Spalte markieren löst Code aus
25.06.2021 15:28:50
Werner
Hallo,

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("K:K, L:L, W:W")) Is Nothing Then
If Target.CountLarge = 1 Then
If Target = "" Then
UserForm_Nutzerdaten.Show
End If
End If
End If
End Sub
Gruß Werner
AW: Ganze Spalte markieren löst Code aus
25.06.2021 20:11:43
Sven1403
Danke für den Code Werner! Cool diese und Daniels Lösungen zu sehen.
Gerne u. Danke für die Rückmeldung. o.w.T.
25.06.2021 22:17:00
Werner
AW: Ganze Spalte markieren löst Code aus
25.06.2021 16:33:35
Daniel
Hi
Das ganze stürzt die ab, sobald du mehr als eine Zelle markierst.
Dann ist nämlich Target.Value kein Einzelwert mehr, sondern ein zweidimensionales Array, welches du nicht mehr wie einen Einzelwert behandeln darfst.
Lösungen gibts verschiedene.
Eine wurde ja gezeigt, du fragst mit CountLarge ab, wieviele Zellen im Target sind.
Eine andere Methode ist, dass du über all dort, wo du Target wie einen Einzelwert behandelt, immer Target(1) schreibst, dass ist dann die erste Zelle von Target und damit ein Einzelwert.
Gruß Daniel
Anzeige
AW: Ganze Spalte markieren löst Code aus
25.06.2021 20:12:15
Sven1403
So einfach geht es :D vielen Dank!

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige