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

Zellenauswahl aus Excel nach VB

Zellenauswahl aus Excel nach VB
27.09.2007 20:26:00
Karsten
Hallo!
Kann mir jemand helfen?
Ich möchte in einem Makro (VB) die linke obere und rechte untere Zellenposition des aktuellen
(Zellen-)Auswahlbereiches aus dem aktuellen Tabellenblatt in Excel abfragen - wie kann ich das tun?
(In dem Fall das mit STRG mehrere Bereiche gleichzeitig markiert wurden, sollen diese vernachlässigt werden und nur das erste Auswahlrechteck gelten).
Mir gelingt immer nur die Abfrage der linken oberen Ecke...

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

Betreff
Datum
Anwender
Anzeige
AW: Zellenauswahl aus Excel nach VB
ransi
HAllo
Versuche es doch mal so:
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit


Public Sub test()
MsgBox Selection.Areas(1)(1).Address
MsgBox Selection.Areas(1)(Selection.Areas(1).Count).Address
End Sub

ransi

Anzeige
AW: Zellenauswahl aus Excel nach VB
27.09.2007 21:54:00
Karsten
Suuuper!
Das ist genau dass, was ich brauche!
Nur noch eine Bitte, weil ich noch nicht ganz so firm bin mit VB.
Kannst Du mir bitte noch dazu helfen die richtigen Ausgaben der MsgBoxen in Variablen zu schreiben...
z.B.
Dim Zeile1 As Long
Dim Spalte1 As Long
Dim Zeile2 As Long
Dim Spalte2 As Long
Und jetzt da die die hüschen Werte aus der der MsgBox in Form von Spalten- und Zeilen-Nummern rein...
Damit wäre mir sehr geholfen.
Vielen Dank aber jetzt schonmal!!!

AW: Zellenauswahl aus Excel nach VB
27.09.2007 20:41:39
Ramses
Hallo
"...In dem Fall das mit STRG mehrere Bereiche gleichzeitig markiert wurden.."
Das kannst du leider nicht, bzw nur extrem aufwändig, abfragen.
Du kannst mit der "Strg"-Taste natürlich auch korrekt nebeneinanderliegende Zellen abfragen.
WIE darf denn markiert werden ?
Darf auch von unten nach oben markiert werden ? Denn diese Art stellt dann alles wieder auf den Kopf.
Was willst du denn erreichen ?
Gruss Rainer

Anzeige
AW: Zellenauswahl aus Excel nach VB
27.09.2007 21:38:33
Karsten
Danke für die schnellen Antorten...
Nun, die Mehrwachauswahl habe ich nur erwähnt um zu zu sagen, dass mir dieser "Spezialfall" egal ist, und von meinem Macro nicht beachtet werden würde - nur für den Fall, dass sich hier jemand darüber den Kopf zerbrechen sollte.
Wenn mann von rechts unten nach links oben einen Zellenauswahl trifft gibt es keine Probleme die Ecken zu bestimmen.
Rechts unten ist die Position der aktiven Zelle und links oben wird einem von Excel immer die Position der ersten Zelle des markierten Bereichs zurückgegeben.
Schöner für die Benutzung der Tabelle wäre es nur, wenn es egal wäre wie herum man seine Auswahlbox aufzieht.
Warum ich das Ganze brauche:
Ich habe eine große Arbeitsmappe bei der ich alle Blätter schütze. In den Makros deaktiviere ich den Schutz kurzzeitig um die Funktionen der Makros ausführen zu können.
Der Blattschutz muss sein um die Formeln und somit die Korrektheit der Berrechnungen zu schützen.
Eine Deaktivierung des Blattschutzes durch den Anwender der Tabelle möchte ich nicht zulassen
Daher kann ich eine manuelle Formatierung des Eingabebereichs nur eingeschränkt zulassen (per Makro).
Ich möchte prüfen, ob der Anwender einen gültige Zellenauswahl getroffen hat (innerhalb des Eingabebereiches in der Tabelle), den ungültigen Bereich abschneiden, und die Formatierung nur auf den
Rest - den gültigen Bereich anwenden.
Es läuft sozusagen auf eine Gültigkeitsprüfung bei der Formatierung von Zellen hinaus...

Anzeige
AW: Zellenauswahl aus Excel nach VB
ransi
HAllo
Das kannst du auch einfacher haben.
Teste mal ein wenig hiermit:
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit


Public Sub test()
Dim gueltiger_Bereich As Range
Set gueltiger_Bereich = Range("A1:B10")
If Not Intersect(gueltiger_Bereich, Selection) Is Nothing Then
    MsgBox Intersect(gueltiger_Bereich, Selection).Address
    'Mach was
    Else:
    MsgBox "Keine Überschneidung"
    'Mach was anderes
End If
End Sub

ransi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige