Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1364to1368
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

Shapes in einem definierten Bereich

Shapes in einem definierten Bereich
09.06.2014 07:25:25
stef26
Hallo Zusammen,
Verzweiflung macht sich breit...
Habe ein Macro, welches mir die Shapes eines Bereiches auflisten soll.
Dieses Macro funktioniert super. Hab nur ein Problem:
An der Stelle in der ich den Bereich definiere, bleibt das Macro ab und an stehen.
If Not Application.Intersect(Rohr.TopLeftCell, _
ActiveSheet.Range("C2:N23")) Is Nothing Then
Ich bin noch nicht dahinter gekommen, wieso das Macro einmal läuft und dann auf einmal wieder mal nicht?
Ich dachte immer entweder ist code ok oder eben nicht.
Hat jemand eine Idee, wo der Fehler liegen könnte, oder wie ich den Code umformulieren kann, so dass er immer läuft.
So was hab ich noch nie gehabt ?
Gruß
Stefan

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Shapes in einem definierten Bereich
09.06.2014 07:57:10
Christian
hallo Stefan,
mit dieser einen Zeile kann man da nur spekulieren ...
wie ist Rohr denn deklariert?
und welchen Wert hat "Rohr", wenn der Code stehen bleibt?
Gruß
Christian

AW: Shapes in einem definierten Bereich
09.06.2014 09:21:04
Nepumuk
Hallo,
hast du in der Tabelle DropDowns aus Daten - Datenüberprüfung - Liste in der Tabelle? Die haben nämlich keine TopLeftCell-Eigenschaft.
Gruß
Nepumuk

AW: Shapes in einem definierten Bereich
09.06.2014 12:19:31
stef26
Hallo Zusammen,
Dropdowns usw. hab ich allerdings nicht in dem ausgewählten Bereich.
Hab mal die xls reingeladen, damit ihr wisst von was ich spreche...
https://www.herber.de/bbs/user/91044.xlsm
Gruß
Stefan

Anzeige
Option explicit
09.06.2014 13:05:04
ransi
HALLO
Du solltest dir angewöhnen alle Variablen zu deklarieren.
Das kannst du mit Option Explicit erzwingen.
Ich nehme an der fragliche Code bezieht sich auf Sheets("Skizze")
Das solltest du auch angeben. Bist du auf einem anderen Blatt kommt es sonst zum Fehler.
Ersetz mal ActiveSheet durch Sheets("Skizze").
Beispielhaft:
If Not Application.Intersect(Rohr.TopLeftCell, _
    Tabelle1.Range("C2:N23")) Is Nothing Then

ransi

Anzeige
Option explicit
09.06.2014 13:06:44
ransi
Korrektur:
For Each Rohr In Sheets("Skizze").Shapes
If Not Application.Intersect(Rohr.TopLeftCell, _
    Sheets("Skizze").Range("C2:N23")) Is Nothing Then

Anzeige
AW: Option explicit
09.06.2014 13:26:27
stef26
danke ransi,
werds gleich mal testen.
Das mit den deklarieren... Da hast du recht.
Aber ich lerne gerade mit VBA erst an zu laufen. D.h. bisher lediglich mit Macrorecorder
mit kleineren Anpassungen. Mittlerweile lerne ich Tag für Tag dazu.
Werde mir das Thema Variablen deklarieren mal ansehen. Wie was zu deklarieren ist....
Danke schonmal
Stefan

immer noch gleicher Fehler
09.06.2014 15:06:21
stef26
Hallo nochmal,
habe anstelle active Sheet das Blatt angegeben.
Leider hab ich das Problem das es mal funktioniert mal nicht funktioniert immer
noch. ?
Füg ich Rohre hinzu oder entferne ich welche, dann geht's manchmal und manchmal halt nicht.
Manchmal geht's manchmal eben nicht, obwohl ich nichts daran geändert habe ?
Wie eine Art Wackelkontakt, das macht mich echt wirr...
:-)
Stefan

Anzeige
AW: immer noch gleicher Fehler
09.06.2014 15:09:23
Mullit
Hallo,
wenn ich Deinen Code starte, erhalte ich den Laufzeitfehler
'Das Element mit dem angegebenen Namen wurde nicht gefunden.'
Entferne ich hier Not läuft er durch:
If Rohr.Name Like "*Rohr*" And Rohr.Visible = True Then
  If Not Rohr.Name Like "Can 1" Then
    Länge = (Sqr(Rohr.Height ^ 2 + Rohr.Width ^ 2

Gruß,

Anzeige
AW: auch noch nicht
09.06.2014 15:51:26
stef26
Hallo Mullit,
habs probiert. Das erste mal ohne Not hat er die Auflistung nicht vollständig gemacht.
Beim zweiten Versuch bleibt er wieder an dieser Stelle stehen ?
Das gibt's doch nicht oder ?
Ich bin absolut verwirrt
Gruß
Stefan

AW: auch noch nicht
09.06.2014 16:31:16
Mullit
Hallo,
in Deiner hochgeladenen Mappe scheint es kein
Shape mit Bezeichnung:
ActiveSheet.Shapes("Can 1")
zu geben. Wenn ich eine neue Autoform mit Namen "Can 1" einfüge, läuft der Code auch durch, wenn ich
Not nicht entferne und übernimmt auch die Längenmaße......
Gruß,

Anzeige
SUPI jetzt gehts
09.06.2014 16:57:33
stef26
Hi,
jetzt scheint es zu funktionieren...
Werde noch ein paar tests machen.
Aber schaut gut aus.
DANKE
STefan

AW: SUPI jetzt gehts
09.06.2014 17:08:23
Mullit
Hallo Stefan,
prima.....
Gruß,

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige