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

Zellauswahl verschieben

Zellauswahl verschieben
02.11.2005 07:30:10
Holger
Hallo Leute,
da ich von VBA (fast gar) nichts weiss, mit excel aber an grenzen stosse, hier meine erste bitte an euer forum.
Ich möchte in einer Excel-Tabelle die Zellauswahl nur für den Bereich b10:b21 zulassen. (Das ist im Arbeitsblatt kein Problem.)
Nun aber soll bei Auswahl einer Zelle des Bereiches b11 bis b20 ein Makro "Makro1" ablaufen.
Wird die Auswahl aber auf b21 (mit Maus oder Richtungstasten)gesetzt, soll die Auswahl auf b20 zurückgehen, danach soll das Makro "Makro2" ablaufen, - ohne dass nun wieder das "Makro1" abläuft.
Ähnliches bei Auswahl der Zelle b10:
Auswahl zurück auf zelle b11 und danach soll "Makro3" ablaufen - ohne dass nun wieder das "Makro1" abläuft.
Ich freue mich schon auf die Realisierung mit VBA.
Gruß Holger

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

Betreff
Datum
Anwender
Anzeige
AW: Zellauswahl verschieben
02.11.2005 08:43:42
Heiko
Hallo Holger,
mal so als Ansatz zum testen.
ALLES in das Codefenster der entsprechenden Tabelle.
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rngSchnitt As Range
If Target.Count > 1 Then
MsgBox "Sie haben mehr als eine Zelle selektiert, das sollten sie nicht !", vbCritical
Exit Sub
End If
If Target.Address = "$B$10" Then
Call makro2
Application.EnableEvents = False
Range("B11").Select
Application.EnableEvents = True
Exit Sub
ElseIf Target.Address = "$B$21" Then
Call makro3
Application.EnableEvents = False
Range("B20").Select
Application.EnableEvents = True
Exit Sub
End If
Set rngSchnitt = Application.Union(Range(Target.Address), Range("B11:B20"))
If rngSchnitt.Address = Range("B11:B20").Address Then
Call makro1
End If
Set rngSchnitt = Nothing
End Sub

Sub makro1()
MsgBox "Ich bin makro 1"
End Sub
Sub makro2()
MsgBox "Ich bin makro 2"
End Sub
Sub makro3()
MsgBox "Ich bin makro 3"
End Sub
Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
AW: Zellauswahl verschieben
02.11.2005 08:56:10
Holger
Hallo Heiko,
ich danke für die schnelle und konstruktive Hilfe. Das hat mich überzeugt.
Läuft tadellos.
Gruß Holger

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige