Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
216to220
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
216to220
216to220
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Überprüfen ob gnaze Zeile oder nur Zellen markiert

Überprüfen ob gnaze Zeile oder nur Zellen markiert
12.02.2003 09:01:08
Gunnar
Hallo,

habe hier ein Tabelle in der ich eine eigene Menüleiste habe.
In der Menüleiste werden bestimmte Punkte zum bearbeiten ausgeblendet wenn man die Zellbereiche a1:c100 oder d1:ge3 selektiert.
Wenn ich dann die Zellen selektiere die erlaubt sind, d4:ge100 werden die Punkte des Menüs wieder eingeblendet.
Wenn ich jetzt aber eine ganze Zeile oder Spalte selektiere bleiben die Punkte natürlich da.

Gibt es eine Möglichkeit wie ich die Ausführung der Makros, welche hinter den entsprechenden Punkten liegen, verhindern kann oder die Punkte dann ausblenden kann wenn eine ganze Spalte oder Zeile selektiert wurde???

Gruß,
Gunnar

Anlage:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Not Application.Intersect(Range("A1:c100"), Target) Is Nothing Then
'Da die Zellen nich bearbeitet werden sollen,
'werden die Bearbeitungssymbole der Abwesenheitssymbolleiste ausgeblendet
Application.CommandBars("Abwesenheitsliste").Controls("Abwesenheit").Visible = False
Application.CommandBars("Abwesenheitsliste").Controls("Kommentar einfügen").Visible = False
Application.CommandBars("Abwesenheitsliste").Controls("Kommentar löschen").Visible = False
Application.CommandBars("Abwesenheitsliste").Controls("Eintrag löschen").Visible = False
End If

If Not Application.Intersect(Range("d1:gc3"), Target) Is Nothing Then
'Da die Zellen nich bearbeitet werden sollen,
'werden die Bearbeitungssymbole der Abwesenheitssymbolleiste ausgeblendet
Application.CommandBars("Abwesenheitsliste").Controls("Abwesenheit").Visible = False
Application.CommandBars("Abwesenheitsliste").Controls("Kommentar einfügen").Visible = False
Application.CommandBars("Abwesenheitsliste").Controls("Kommentar löschen").Visible = False
Application.CommandBars("Abwesenheitsliste").Controls("Eintrag löschen").Visible = False
End If

If Not Application.Intersect(Range("D4:GE100"), Target) Is Nothing Then
'Da diese Zellen bearbeitet werden sollen,
'werden die Bearbeitungssymbole der Abwesenheitssymbolleiste eingeblendet
Application.CommandBars("Abwesenheitsliste").Controls("Abwesenheit").Visible = True
Application.CommandBars("Abwesenheitsliste").Controls("Kommentar einfügen").Visible = True
Application.CommandBars("Abwesenheitsliste").Controls("Kommentar löschen").Visible = True
Application.CommandBars("Abwesenheitsliste").Controls("Eintrag löschen").Visible = True
End If


End Sub



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

Betreff
Datum
Anwender
Anzeige
Re: Überprüfen ob gnaze Zeile oder nur Zellen markiert
12.02.2003 09:57:55
Peter Haserodt

Hi,
Target.Rows.Count
Target.columns.Count
Target.Cells.Count

überprüfen.

Gruss Peter

www.haserodt.de

Re: Überprüfen ob gnaze Zeile oder nur Zellen markiert
12.02.2003 10:17:51
Gunnar

Hallo Peter,

hört sich eigentlich logisch an nur wie bringe ich die abfrage in dem Sub unter?

Habe leider in der Hilfe voon Excel nicht so viel zu der Target.xxx.Count gefunden und Literatur ist hier etwas rar.... :)

Gruß,
Gunnar

Re: Überprüfen ob gnaze Zeile oder nur Zellen markiert
12.02.2003 10:41:34
Peter Haserodt

Hallo Gunnar,
ich habe vorher eigentlich vollkommenen Blödsinn geschrieben.
Hatte deinen Beitrag nicht richtig gelesen.
Du willst ja erreichen, dass nur wenn er innerhalb eines bestimmten Bereiches etwas selectiert die Aktion erfolgt und nicht wenn eine Schnittmenge vorliegt.

Hier ist das intersect falsch, da es immer true wird, wenn vom target mindestens eine Zelle im Bereich liegt.

Du musst ja überprüfen ob das target voll in deinem gewünschten Bereich liegt.

Auf die schnelle als Idee:
du musst die Ecken des Targets mit deinem Range vergleichen, z.B.
target.row (1.reihe)
target.rows + target.row -1 (letzte Reihe)
das gleiche für Column
und jetzt prüfen, ob die ermittelten Zeilen und Spalten innerhalb deines Ranges liegen.

Wie gesagt, nur als schnelle Idee, vielleicht gibts was besseres.

Gruss Peter



Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige