Anzeige
Archiv - Navigation
1596to1600
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

Bereichsnamen und Zeilenanzahl feststellen

Bereichsnamen und Zeilenanzahl feststellen
18.12.2017 10:59:39
Jörg
Hallo Forum,
wenn ich eine Zelle anklicke möchte ich mittels VBA folgendes auswerten
1) gehört diese Zelle zu einem definierten Namensbereich
2) Wenn ja, wieviele Zeilen umfasst dieser Bereich insgesamt
3) Wieviele Zeilen sind es noch bis zum Bereichsende
Die Ausgabe soll in einer MsgBox erfolgen.
Vielen Dank im voraus,
ciao Jörg

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
.CurrentRegion
18.12.2017 11:19:59
lupo1
erweitert auf den ganzen Bereich. Bedingung: An allen vier Seiten muss der Bereich von einem Leerzellenrahmen umgeben sein. Das gilt auch für Zellen, die nur über Eck berühren (!). Also: Ein wirklich kompletter Rahmen! Arbeitsblattgrenzen zählen auch als Rahmenbestandteil.
Dann kannst Du mit
.CurrentRegion.Columns.Count
.CurrentRegion.Rows.Count
.CurrentRegion.Resize(1, 1).Address
die drei notwendigen Parameter ermitteln (ungetestet, evtl. syntaktisch nicht richtig)
AW: .CurrentRegion
18.12.2017 11:51:03
Jörg
Hallo Lupo1,
das hilft mir leider nicht weiter, da Rahmen nicht vorhanden sind und die Frage nach dem Bereichsnamen nicht gelöst ist.
Ciao Jörg
Anzeige
Nicht Format-Rahmen
18.12.2017 12:07:01
lupo1
... sondern eine "Leerzellen-Umrahmung" des Bereichs meinte ich. Oder ist Dir "Zellen-Freilassung" lieber?
Das mit dem Enthaltensein in Bereichsnamen bekommt man mit dem Durchlaufen der .Names().Auflistung hin. Darauf bezog sich meine Antwort nicht. Ich wollte nur das andere beantworten.
AW: Bereichsnamen und Zeilenanzahl feststellen
18.12.2017 11:23:35
{Boris}
Hi Jörg,
hier mal ein Vorschlag mit Rechtsklick. Bereich dürfen nicht diskontinuierlich sein.
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim n As Name
For Each n In ThisWorkbook.Names
If Not Intersect(Target, Range(n)) Is Nothing Then
MsgBox "Aktive Zelle: " & Target.Address(0, 0) & vbLf _
& "Bereichsname: " & n.Name & vbLf _
& "Anzahl Zeilen im Bereich: " & Range(n).Rows.Count & vbLf _
& "Zeilen bis Bereichsende: " & Range(n).Rows.Count + Range(n).Row - 1 - Target.Row
Cancel = -1
Exit Sub
End If
Next n
End Sub
VG, Boris
Anzeige
AW: Bereichsnamen und Zeilenanzahl feststellen
18.12.2017 12:15:21
Jörg
Hallo Boris,
fast perfekt.
Leider erhalte ich einen Laufzeitfehler 1004, Die Methode 'Range' für das Objekt '_Worksheet' ist fehlgeschlagen. Ich hab etwas getestet: wenn der Bereichsname für die gesamte Arbeitsmappe gilt funktioniert es wunderbar, wenn der Bereichsnamen auf Tabellenbasis definiert ist und er somit mehrfach vorkommt passiert der Laufzeitfehler.
Hast Du evtl. noch eine Lösung dafür?
DAnke, ciao Jörg
AW: Bereichsnamen und Zeilenanzahl feststellen
18.12.2017 13:44:22
EtoPHG
Hallo Jörg,
In der Each Anweisung werde alle Bereiche der Mappe getestet, darum wird ein Bereich, der sich NICHT in dem Blatt befindet, in dem der Code abläuft, bei
Intersect(Target, Range(n)) den Fehler verursachen. Die Intersect Methode kann nur auf Bereiche im gleichen Arbeitsblatt angewandt werden.
Gruess Hansueli
Anzeige
AW: Bereichsnamen und Zeilenanzahl feststellen
18.12.2017 14:31:48
Robert
Hallo,
vielleicht kann man den Fehler wie folgt umgehen:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim n As Name
For Each n In ThisWorkbook.Names
If ActiveSheet.Name = Mid(n, 2, InStr(n, "!") - 2) Then
If Not Intersect(ActiveCell, Range(n)) Is Nothing Then
MsgBox "Aktive Zelle: " & ActiveCell.Address(0, 0) & vbLf _
& "Bereichsname: " & n.Name & vbLf _
& "Anzahl Zeilen im Bereich: " & Range(n).Rows.Count & vbLf _
& "Zeilen bis Bereichsende: " & Range(n).Rows.Count + Range(n).Row - 1 - ActiveCell.Row
Exit Sub
End If
End If
Next n
End Sub
Gruß
Robert
Anzeige
AW: Bereichsnamen und Zeilenanzahl feststellen
18.12.2017 20:37:52
Jörg
Hallo Robert,
vielen Dank, jetzt funktioniert es.
Ciao Jörg

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige