Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1420to1424
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 im selektierten Bereich markieren

Shapes im selektierten Bereich markieren
10.04.2015 21:01:11
stef26
Hallo liebe Excelgemeinde,
ich habe versucht aus verschiedenen Internetseiten ein Macro zu erstellen.
Wie meist mit nur geringen Erfolg.
Ich möchte das das Macro alle Shapes im markierten Bereich selektiert.
Leider funktioniets nicht.
Da ich VBA nur sehr wenig Ahnung habe, komme ich hier leider nicht weiter...
Sub BereichSelekt()
Dim shaShape As Shape
Dim lngShape As Long
ReDim arrShapes(0)
For Each shaShape In ActiveSheet.Shapes
If shaShape.Visible Then
Set rng = Selection
If Not Intersect(objShp.TopLeftCell, rng) Is Nothing Then
ReDim Preserve arrShapes(0 To lngShape)
arrShapes(lngShape) = shaShape.Name
lngShape = lngShape + 1
End If
End If
Next shaShape
If UBound(arrShapes()) > 0 Then
ActiveSheet.Shapes.Range(arrShapes()).Select
End If
End Sub
Vielleicht kann mich ja hier jemand unterstützen?
Liebe Grüße
Stefan

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Shapes im selektierten Bereich markieren
10.04.2015 21:36:07
Daniel
HI
der Code ist bis auf einen kleinen Fehler schon richtig.
Verwende Option Explicit, und du wirst deinen Fehler schnell finden.
was das ist und warum das gut ist, steht hier.
http://www.online-excel.de/excel/singsel_vba.php?f=4
gruß Daniel

AW: Shapes im selektierten Bereich markieren
10.04.2015 22:16:54
stef26
Hallo nochmal,
ok hatte 2 Variablen nicht dim.
Aber nun bleibt das an dieser Stelle stehen ?
Option Explicit
Sub BereichSelekt()
Dim shaShape As Shape
Dim lngShape As Long
Dim objShp As Shape
Dim rng As Range
ReDim arrShapes(0)
For Each shaShape In ActiveSheet.Shapes
If shaShape.Visible Then
Set rng = Selection
If Not Intersect(objShp.TopLeftCell, rng) Is Nothing Then
ReDim Preserve arrShapes(0 To lngShape)
arrShapes(lngShape) = shaShape.Name
lngShape = lngShape + 1
End If
End If
Next shaShape
If UBound(arrShapes()) > 0 Then
ActiveSheet.Shapes.Range(arrShapes()).Select
End If
End Sub

Gruß
Stefan

Anzeige
AW: Shapes im selektierten Bereich markieren
10.04.2015 22:22:36
Nepumuk
Hallo,
so:
Sub BereichSelekt()
    Dim shaShape As Shape
    Dim lngShape As Long
    Dim rng As Range
    Set rng = Selection
    Redim arrShapes(0)
    For Each shaShape In ActiveSheet.Shapes
        If shaShape.Visible Then
            If Not Intersect(shaShape.TopLeftCell, rng) Is Nothing Then
                Redim Preserve arrShapes(0 To lngShape)
                arrShapes(lngShape) = shaShape.Name
                lngShape = lngShape + 1
            End If
        End If
    Next shaShape
    If lngShape > 0 Then _
        ActiveSheet.Shapes.Range(arrShapes()).Select
End Sub

Gruß
Nepumuk

Anzeige
AW: Shapes im selektierten Bereich markieren
10.04.2015 22:42:00
stef26
Danke für die schnelle Hilfe,
leider bleibt auch dein Macro an der genannten Stelle stehen.
Leider hab ich nun von VBA überhaupt keinen Schimmer (nur Msg Box oder so)
so dass ich auch mit den Hilfestellungen der anderen Helfer nun überhaupt nichts anfangen kann.
Ich hab mal dein Macro in ne XLS gepackt.
Könntest du dir das nochmal ansehen, an was dies liegen kann?
https://www.herber.de/bbs/user/97017.xlsm
Danke
Stefan

AW: Shapes im selektierten Bereich markieren
10.04.2015 22:51:53
Luschi
Hallo Stefan,
ändere diese Vba-Zeile:
If Not Intersect(objShp.TopLeftCell, rng) Is Nothing Then
gegen
If Not Intersect(shaShape.TopLeftCell, rng) Is Nothing Then
aus
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Shapes im selektierten Bereich markieren
10.04.2015 23:29:53
Nepumuk
Hallo,
dann nimm doch einfach meinen Code, da ist dein Fehler nicht drin.
Gruß
Nepumuk

AW: Shapes im selektierten Bereich markieren
10.04.2015 23:33:39
stef26
Ups sorry. (hab vermutlich meinen nochmal reinkopiert...)
Danke für deine Hilfe.
Nun funktionierts super
DANKE !!!!
Stefan

AW: Shapes im selektierten Bereich markieren
11.04.2015 11:55:33
Daniel
Dir hätte dich nur auffallen müssen, dass du plötzlich eine neue Variable verwendest, die vorher noch nie einen Wert erhalten hat und deswegen nicht funktionieren kann.
Deinen Einwand, dass du kaum Ahnung von VBA hast, kann ich nicht verstehen, dann hättest du diesen Code nicht erstellen können
Gruß Daniel

Anzeige
AW: Shapes im selektierten Bereich markieren
10.04.2015 22:26:40
Daniel
Hi
naja, ein bisschen nachdenken hilft schon.
der Code hätte auch ohne das Option Explicit und die Variablendeklaration funktioniert.
Schau dir noch mal den Code genau an und überprüfe, was du mit der Variablen, deren deklaration noch gefehlt hat (objShp), im Code so alles anstellst. Brauchst du diese Variable wirklich oder solltst du nicht eine andere Variable verwenden?
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige